]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r290104: Improve/fix loop scanning routine.
authormav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 30 Nov 2015 21:28:53 +0000 (21:28 +0000)
committermav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 30 Nov 2015 21:28:53 +0000 (21:28 +0000)
commit57955f88251c8c21fd074a92d4821fc2650c9655
tree2ae812169d9ef2d9a2f7f46a69c5331311f76a61
parent3a56ab6d08532ef502e61c37852047bd6f3c3f2a
MFC r290104: Improve/fix loop scanning routine.

For the most of chips (except anscient ones) port handlers have no relation
to port IDs.  In such situation old code scanning first 125 handlers was
quite naive.  Instead of doing that, send to chip single request to get full
list of port handlers available on specific virtual port and scan only them.

Old code had problems with case of several virtual ports enabled, when port
handlers allocated from global address space could easily go above 125.
This change was successfully tested on 23xx, 24xx and 25xx chips in loop
mode with 4 virtual initiator ports, each seing 50 virtual target ports.

git-svn-id: svn://svn.freebsd.org/base/stable/10@291498 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/isp/isp.c
sys/dev/isp/isp_library.c
sys/dev/isp/isp_library.h
sys/dev/isp/ispmbox.h