diff options
author | Joe Carnuccio | 2014-09-25 11:16:39 +0200 |
---|---|---|
committer | Christoph Hellwig | 2014-09-25 14:25:02 +0200 |
commit | 4096953054ad4369774f9dadc125ef7a57bb9ed0 (patch) | |
tree | 6875553b70d086818419b26cc7bccf77e7468fa8 /drivers/scsi/qla2xxx/qla_mid.c | |
parent | qla2xxx: Add endianizer to max_payload_size modifier. (diff) | |
download | kernel-qcow2-linux-4096953054ad4369774f9dadc125ef7a57bb9ed0.tar.gz kernel-qcow2-linux-4096953054ad4369774f9dadc125ef7a57bb9ed0.tar.xz kernel-qcow2-linux-4096953054ad4369774f9dadc125ef7a57bb9ed0.zip |
qla2xxx: ISP25xx multiqueue shadow register crash fix.
When creating request/response queues from qla25xx_setup_mode(),
the shadow index register pointers were not being initialized
to point at the registers.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mid.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_mid.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c index 89998244f48d..5c2e0317f1c0 100644 --- a/drivers/scsi/qla2xxx/qla_mid.c +++ b/drivers/scsi/qla2xxx/qla_mid.c @@ -702,6 +702,7 @@ qla25xx_create_req_que(struct qla_hw_data *ha, uint16_t options, req->req_q_in = ®->isp25mq.req_q_in; req->req_q_out = ®->isp25mq.req_q_out; req->max_q_depth = ha->req_q_map[0]->max_q_depth; + req->out_ptr = (void *)(req->ring + req->length); mutex_unlock(&ha->vport_lock); ql_dbg(ql_dbg_multiq, base_vha, 0xc004, "ring_ptr=%p ring_index=%d, " @@ -811,6 +812,7 @@ qla25xx_create_rsp_que(struct qla_hw_data *ha, uint16_t options, reg = ISP_QUE_REG(ha, que_id); rsp->rsp_q_in = ®->isp25mq.rsp_q_in; rsp->rsp_q_out = ®->isp25mq.rsp_q_out; + rsp->in_ptr = (void *)(rsp->ring + rsp->length); mutex_unlock(&ha->vport_lock); ql_dbg(ql_dbg_multiq, base_vha, 0xc00b, "options=%x id=%d rsp_q_in=%p rsp_q_out=%p", |