summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp/isp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/isp/isp.c')
-rw-r--r--sys/dev/isp/isp.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c
index d3e5bdb..6a3897a 100644
--- a/sys/dev/isp/isp.c
+++ b/sys/dev/isp/isp.c
@@ -2589,7 +2589,7 @@ isp_get_wwn(ispsoftc_t *isp, int chan, int loopid, int nodename)
}
mbs.param[9] = chan;
} else {
- mbs.ibits = 3;
+ mbs.ibitm = 3;
mbs.param[1] = loopid << 8;
if (nodename) {
mbs.param[1] |= 1;
@@ -7363,6 +7363,13 @@ isp_mboxcmd(ispsoftc_t *isp, mbreg_t *mbp)
ibits |= mbp->ibits;
obits |= mbp->obits;
+ /*
+ * Mask any bits that the caller wants us to mask
+ */
+ ibits &= mbp->ibitm;
+ obits &= mbp->obitm;
+
+
if (ibits == 0 && obits == 0) {
mbp->param[0] = MBOX_COMMAND_PARAM_ERROR;
isp_prt(isp, ISP_LOGERR, "no parameters for 0x%x", opcode);
OpenPOWER on IntegriCloud