diff options
author | mjacob <mjacob@FreeBSD.org> | 2012-06-25 03:06:29 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2012-06-25 03:06:29 +0000 |
commit | fff8cc103a81021e146cab93e0790e4b735fbf06 (patch) | |
tree | 1b19b020623a552b9e632467a542dccd66d2d3bf | |
parent | c8e30b0c20e501277e9d5e69016ae6f171f1d149 (diff) | |
download | FreeBSD-src-fff8cc103a81021e146cab93e0790e4b735fbf06.zip FreeBSD-src-fff8cc103a81021e146cab93e0790e4b735fbf06.tar.gz |
Unbreak register tests for parallel SCSI.
You can't overwrite registers 7 and 8.
MFC after: 3 days
-rw-r--r-- | sys/dev/isp/isp.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c index f38f325..a2853a2 100644 --- a/sys/dev/isp/isp.c +++ b/sys/dev/isp/isp.c @@ -710,8 +710,11 @@ isp_reset(ispsoftc_t *isp, int do_load_defaults) 0x6666, 0x6677, 0x1122, 0x33ff, 0x0000, 0x0001, 0x1000, 0x1010, }; + int nmbox = ISP_NMBOX(isp); + if (IS_SCSI(isp)) + nmbox = 6; MBSINIT(&mbs, MBOX_MAILBOX_REG_TEST, MBLOGALL, 0); - for (i = 1; i < ISP_NMBOX(isp); i++) { + for (i = 1; i < nmbox; i++) { mbs.param[i] = patterns[i]; } isp_mboxcmd(isp, &mbs); @@ -719,7 +722,7 @@ isp_reset(ispsoftc_t *isp, int do_load_defaults) ISP_RESET0(isp); return; } - for (i = 1; i < ISP_NMBOX(isp); i++) { + for (i = 1; i < nmbox; i++) { if (mbs.param[i] != patterns[i]) { ISP_RESET0(isp); isp_prt(isp, ISP_LOGERR, "Register Test Failed at Register %d: should have 0x%04x but got 0x%04x", i, patterns[i], mbs.param[i]); |