aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp/isp_target.c
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>2000-02-15 00:53:49 +0000
committerMatt Jacob <mjacob@FreeBSD.org>2000-02-15 00:53:49 +0000
commit14a372932506015a22292a2f79387231b838141f (patch)
treeb14a8bac370e0b5b2d30a2390f5b8d3fb366eb21 /sys/dev/isp/isp_target.c
parentd667c06c77c778c190e7136b6a8c55c80d34c194 (diff)
downloadsrc-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.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 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) {