summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2000-02-15 00:53:49 +0000
committermjacob <mjacob@FreeBSD.org>2000-02-15 00:53:49 +0000
commit56989ea7970eedf93b99ab14c2d3597e7275346f (patch)
tree8116db69c1e96189ca5857739d57c656aca22606 /sys/dev
parent968b01c5e288e60e4880bb405f13f3141a860e59 (diff)
downloadFreeBSD-src-56989ea7970eedf93b99ab14c2d3597e7275346f.zip
FreeBSD-src-56989ea7970eedf93b99ab14c2d3597e7275346f.tar.gz
Correctly identify which bus of dual bus SCSI adapters some target mode
commands (enable/disable/modify lun && immediate notify) we're talking about. Approved: jkh
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/isp/isp_target.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/isp/isp_target.c b/sys/dev/isp/isp_target.c
index 23f7782..b53ad83 100644
--- a/sys/dev/isp/isp_target.c
+++ b/sys/dev/isp/isp_target.c
@@ -167,14 +167,18 @@ isp_target_notify(isp, vptr, optrp)
* increment the firmware's resource count for them
* (we set this initially in the Enable Lun entry).
*/
+ bus = 0;
if (IS_FC(isp)) {
status = inot_fcp->in_status;
seqid = inot_fcp->in_seqid;
} else {
status = inotp->in_status & 0xff;
seqid = inotp->in_seqid;
+ if (IS_DUALBUS(isp)) {
+ bus = (inotp->in_iid & 0x80) >> 7;
+ inotp->in_iid &= ~0x80;
+ }
}
- bus = 0; /* XXX: Which Channel? */
ITDEBUG(2, ("isp_target_notify: Immediate Notify, "
"status=0x%x seqid=0x%x\n", status, seqid));
switch (status) {
@@ -272,9 +276,11 @@ isp_lun_cmd(isp, cmd, bus, tgt, lun, opaque)
u_int16_t iptr, optr;
void *outp;
- bus = bus; /* XXX */
MEMZERO(&el, sizeof (el));
+ if (IS_DUALBUS(isp)) {
+ el.le_rsvd = (bus & 0x1) << 7;
+ }
el.le_cmd_count = DFLT_CMD_CNT;
el.le_in_count = DFLT_INOTIFY;
if (cmd == RQSTYPE_ENABLE_LUN) {
OpenPOWER on IntegriCloud