diff options
author | Matt Jacob <mjacob@FreeBSD.org> | 2000-02-15 00:53:49 +0000 |
---|---|---|
committer | Matt Jacob <mjacob@FreeBSD.org> | 2000-02-15 00:53:49 +0000 |
commit | 14a372932506015a22292a2f79387231b838141f (patch) | |
tree | b14a8bac370e0b5b2d30a2390f5b8d3fb366eb21 /sys/dev/isp/isp_target.c | |
parent | d667c06c77c778c190e7136b6a8c55c80d34c194 (diff) | |
download | src-14a372932506015a22292a2f79387231b838141f.tar.gz src-14a372932506015a22292a2f79387231b838141f.zip |
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
Notes
Notes:
svn path=/head/; revision=57216
Diffstat (limited to 'sys/dev/isp/isp_target.c')
-rw-r--r-- | sys/dev/isp/isp_target.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/isp/isp_target.c b/sys/dev/isp/isp_target.c index 23f7782b530a..b53ad83ebfdd 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) { |