|
@@ -3735,6 +3735,9 @@ qla25xx_init_req_que(struct scsi_qla_host *vha, struct req_que *req)
|
|
|
ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d3,
|
|
|
"Entered %s.\n", __func__);
|
|
|
|
|
|
+ if (IS_SHADOW_REG_CAPABLE(ha))
|
|
|
+ req->options |= BIT_13;
|
|
|
+
|
|
|
mcp->mb[0] = MBC_INITIALIZE_MULTIQ;
|
|
|
mcp->mb[1] = req->options;
|
|
|
mcp->mb[2] = MSW(LSD(req->dma));
|
|
@@ -3754,7 +3757,7 @@ qla25xx_init_req_que(struct scsi_qla_host *vha, struct req_que *req)
|
|
|
/* que in ptr index */
|
|
|
mcp->mb[8] = 0;
|
|
|
/* que out ptr index */
|
|
|
- mcp->mb[9] = 0;
|
|
|
+ mcp->mb[9] = *req->out_ptr = 0;
|
|
|
mcp->out_mb = MBX_14|MBX_13|MBX_12|MBX_11|MBX_10|MBX_9|MBX_8|MBX_7|
|
|
|
MBX_6|MBX_5|MBX_4|MBX_3|MBX_2|MBX_1|MBX_0;
|
|
|
mcp->in_mb = MBX_0;
|
|
@@ -3801,6 +3804,9 @@ qla25xx_init_rsp_que(struct scsi_qla_host *vha, struct rsp_que *rsp)
|
|
|
ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d6,
|
|
|
"Entered %s.\n", __func__);
|
|
|
|
|
|
+ if (IS_SHADOW_REG_CAPABLE(ha))
|
|
|
+ rsp->options |= BIT_13;
|
|
|
+
|
|
|
mcp->mb[0] = MBC_INITIALIZE_MULTIQ;
|
|
|
mcp->mb[1] = rsp->options;
|
|
|
mcp->mb[2] = MSW(LSD(rsp->dma));
|
|
@@ -3815,7 +3821,7 @@ qla25xx_init_rsp_que(struct scsi_qla_host *vha, struct rsp_que *rsp)
|
|
|
|
|
|
mcp->mb[4] = rsp->id;
|
|
|
/* que in ptr index */
|
|
|
- mcp->mb[8] = 0;
|
|
|
+ mcp->mb[8] = *rsp->in_ptr = 0;
|
|
|
/* que out ptr index */
|
|
|
mcp->mb[9] = 0;
|
|
|
mcp->out_mb = MBX_14|MBX_13|MBX_9|MBX_8|MBX_7
|