diff options
author | 2008-05-28 18:40:21 +0000 | |
---|---|---|
committer | 2008-05-28 18:40:21 +0000 | |
commit | c8a067b38a83234803d21e953fe133a01aa0d941 (patch) | |
tree | 61ed4633635fb5e8b2346a36e765fa1413b0cdd4 | |
parent | Spotted by jmc, I tested the device and it works, so put it in the right (diff) | |
download | wireguard-openbsd-c8a067b38a83234803d21e953fe133a01aa0d941.tar.xz wireguard-openbsd-c8a067b38a83234803d21e953fe133a01aa0d941.zip |
Don't try reading the SXP_PINS_DIFF on the 10160 and 12160 SCSI controllers.
The registers seems to return 0 on my 12160 and there are some indications
that it doesn't really exist. This may fix panics seen with the 10160 on
sparc64 machines.
ok krw@
-rw-r--r-- | sys/dev/ic/isp.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/sys/dev/ic/isp.c b/sys/dev/ic/isp.c index bc1f4bdbb44..f523bc3a9c8 100644 --- a/sys/dev/ic/isp.c +++ b/sys/dev/ic/isp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: isp.c,v 1.41 2008/01/21 20:00:33 sobrado Exp $ */ +/* $OpenBSD: isp.c,v 1.42 2008/05/28 18:40:21 kettenis Exp $ */ /* * Machine and OS Independent (well, as best as possible) * code for the QLogic ISP SCSI adapters. @@ -273,6 +273,15 @@ isp_reset(struct ispsoftc *isp) /* * XXX: Should probably do some bus sensing. */ + } else if (IS_ULTRA3(isp)) { + isp->isp_clock = 100; + + if (IS_10160(isp)) + btype = "10160"; + else if (IS_12160(isp)) + btype = "12160"; + else + btype = "<UNKLVD>"; } else if (IS_ULTRA2(isp)) { static const char m[] = "bus %d is in %s Mode"; u_int16_t l; @@ -284,10 +293,6 @@ isp_reset(struct ispsoftc *isp) btype = "1280"; else if (IS_1080(isp)) btype = "1080"; - else if (IS_10160(isp)) - btype = "10160"; - else if (IS_12160(isp)) - btype = "12160"; else btype = "<UNKLVD>"; |