Skip to content

Commit

Permalink
[SCSI] qla2xxx: Use correct Request-Q-Out register during bidirection…
Browse files Browse the repository at this point in the history
…al request processing

Original code was not corrected for ISP83xx support. Instead code should used
the cached reference from the req_que structure, rather than the legacy
'if (ISP-TYPE(X))... else if (ISP-TYPE(Y))...' codes.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
  • Loading branch information
Andrew Vasquez authored and James Bottomley committed Nov 30, 2012
1 parent 53016ed commit 7e98df2
Showing 1 changed file with 1 addition and 10 deletions.
11 changes: 1 addition & 10 deletions drivers/scsi/qla2xxx/qla_iocb.c
Original file line number Diff line number Diff line change
Expand Up @@ -2748,7 +2748,6 @@ qla2x00_start_bidir(srb_t *sp, struct scsi_qla_host *vha, uint32_t tot_dsds)
struct rsp_que *rsp;
struct req_que *req;
int rval = EXT_STATUS_OK;
device_reg_t __iomem *reg = ISP_QUE_REG(ha, vha->req->id);

rval = QLA_SUCCESS;

Expand Down Expand Up @@ -2786,15 +2785,7 @@ qla2x00_start_bidir(srb_t *sp, struct scsi_qla_host *vha, uint32_t tot_dsds)

/* Check for room on request queue. */
if (req->cnt < req_cnt + 2) {
if (ha->mqenable)
cnt = RD_REG_DWORD(&reg->isp25mq.req_q_out);
else if (IS_QLA82XX(ha))
cnt = RD_REG_DWORD(&reg->isp82.req_q_out);
else if (IS_FWI2_CAPABLE(ha))
cnt = RD_REG_DWORD(&reg->isp24.req_q_out);
else
cnt = qla2x00_debounce_register(
ISP_REQ_Q_OUT(ha, &reg->isp));
cnt = RD_REG_DWORD_RELAXED(req->req_q_out);

if (req->ring_index < cnt)
req->cnt = cnt - req->ring_index;
Expand Down

0 comments on commit 7e98df2

Please sign in to comment.