mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-11 21:14:07 +08:00
scsi: qla2xxx: Fix qla24xx_process_bidir_cmd()
Set the r??_data_len variables before using these instead of after.
This patch fixes the following Coverity complaint:
const: At condition req_data_len != rsp_data_len, the value of req_data_len
must be equal to 0.
const: At condition req_data_len != rsp_data_len, the value of rsp_data_len
must be equal to 0.
dead_error_condition: The condition req_data_len != rsp_data_len cannot be
true.
Cc: Himanshu Madhani <hmadhani@marvell.com>
Fixes: a9b6f722f6
("[SCSI] qla2xxx: Implementation of bidirectional.") # v3.7.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Tested-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
282d10565e
commit
c29282c65d
@ -1782,8 +1782,8 @@ qla24xx_process_bidir_cmd(struct bsg_job *bsg_job)
|
||||
uint16_t nextlid = 0;
|
||||
uint32_t tot_dsds;
|
||||
srb_t *sp = NULL;
|
||||
uint32_t req_data_len = 0;
|
||||
uint32_t rsp_data_len = 0;
|
||||
uint32_t req_data_len;
|
||||
uint32_t rsp_data_len;
|
||||
|
||||
/* Check the type of the adapter */
|
||||
if (!IS_BIDI_CAPABLE(ha)) {
|
||||
@ -1888,6 +1888,9 @@ qla24xx_process_bidir_cmd(struct bsg_job *bsg_job)
|
||||
goto done_unmap_sg;
|
||||
}
|
||||
|
||||
req_data_len = bsg_job->request_payload.payload_len;
|
||||
rsp_data_len = bsg_job->reply_payload.payload_len;
|
||||
|
||||
if (req_data_len != rsp_data_len) {
|
||||
rval = EXT_STATUS_BUSY;
|
||||
ql_log(ql_log_warn, vha, 0x70aa,
|
||||
@ -1895,10 +1898,6 @@ qla24xx_process_bidir_cmd(struct bsg_job *bsg_job)
|
||||
goto done_unmap_sg;
|
||||
}
|
||||
|
||||
req_data_len = bsg_job->request_payload.payload_len;
|
||||
rsp_data_len = bsg_job->reply_payload.payload_len;
|
||||
|
||||
|
||||
/* Alloc SRB structure */
|
||||
sp = qla2x00_get_sp(vha, &(vha->bidir_fcport), GFP_KERNEL);
|
||||
if (!sp) {
|
||||
|
Loading…
Reference in New Issue
Block a user