]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: qla2xxx: Always check the qla2x00_wait_for_hba_online() return value
authorBart Van Assche <bvanassche@acm.org>
Fri, 9 Aug 2019 03:01:52 +0000 (20:01 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Dec 2019 19:08:27 +0000 (20:08 +0100)
[ Upstream commit e6803efae5acd109fad9f2f07dab674563441a53 ]

This patch fixes several Coverity complaints about not always checking
the qla2x00_wait_for_hba_online() return value.

Cc: Himanshu Madhani <hmadhani@marvell.com>
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qla2xxx/qla_attr.c
drivers/scsi/qla2xxx/qla_target.c

index 9584c5a4839759663e995fb127d5c6a01ac3e7fa..d9a0eb1d8a1d28bdd294c8d15d66254519dc4f6e 100644 (file)
@@ -725,7 +725,8 @@ qla2x00_sysfs_write_reset(struct file *filp, struct kobject *kobj,
                        break;
                } else {
                        /* Make sure FC side is not in reset */
-                       qla2x00_wait_for_hba_online(vha);
+                       WARN_ON_ONCE(qla2x00_wait_for_hba_online(vha) !=
+                                    QLA_SUCCESS);
 
                        /* Issue MPI reset */
                        scsi_block_requests(vha->host);
index 7e98d1be757dc239817031a12d4b179d4c723c66..7c44f84a58e927654ebf7821d94fb9b17c0bb861 100644 (file)
@@ -6681,7 +6681,8 @@ qlt_enable_vha(struct scsi_qla_host *vha)
        } else {
                set_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags);
                qla2xxx_wake_dpc(base_vha);
-               qla2x00_wait_for_hba_online(base_vha);
+               WARN_ON_ONCE(qla2x00_wait_for_hba_online(base_vha) !=
+                            QLA_SUCCESS);
        }
        mutex_unlock(&ha->optrom_mutex);
 }
@@ -6712,7 +6713,9 @@ static void qlt_disable_vha(struct scsi_qla_host *vha)
 
        set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
        qla2xxx_wake_dpc(vha);
-       qla2x00_wait_for_hba_online(vha);
+       if (qla2x00_wait_for_hba_online(vha) != QLA_SUCCESS)
+               ql_dbg(ql_dbg_tgt, vha, 0xe081,
+                      "qla2x00_wait_for_hba_online() failed\n");
 }
 
 /*