[SCSI] qla2xxx: Use correct Request-Q-Out register during bidirectional 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>
This commit is contained in:
Родитель
53016ed321
Коммит
7e98df229e
|
@ -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;
|
||||
|
||||
|
@ -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(®->isp25mq.req_q_out);
|
||||
else if (IS_QLA82XX(ha))
|
||||
cnt = RD_REG_DWORD(®->isp82.req_q_out);
|
||||
else if (IS_FWI2_CAPABLE(ha))
|
||||
cnt = RD_REG_DWORD(®->isp24.req_q_out);
|
||||
else
|
||||
cnt = qla2x00_debounce_register(
|
||||
ISP_REQ_Q_OUT(ha, ®->isp));
|
||||
cnt = RD_REG_DWORD_RELAXED(req->req_q_out);
|
||||
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
|
|
Загрузка…
Ссылка в новой задаче