scsi: qla2xxx: Remove two superfluous tests
authorBart Van Assche <bvanassche@acm.org>
Fri, 9 Aug 2019 03:01:38 +0000 (20:01 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 13 Aug 2019 01:34:05 +0000 (21:34 -0400)
Since qlt_remove_target() only calls qlt_release() if
vha->vha_tgt.qla_tgt != NULL, checking that pointer inside qlt_release()
is not necessary. This patch fixes the following Coverity complaint:

CID 188348 (#1 of 1): Dereference after null check (FORWARD_NULL)
var_deref_model: Passing null pointer &vha->vha_tgt.qla_tgt->tgt_list_entry
to list_del, which dereferences it.

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>
drivers/scsi/qla2xxx/qla_target.c

index 221912d..12a3e77 100644 (file)
@@ -1580,11 +1580,10 @@ static void qlt_release(struct qla_tgt *tgt)
        struct qla_qpair_hint *h;
        struct qla_hw_data *ha = vha->hw;
 
-       if ((vha->vha_tgt.qla_tgt != NULL) && !tgt->tgt_stop &&
-           !tgt->tgt_stopped)
+       if (!tgt->tgt_stop && !tgt->tgt_stopped)
                qlt_stop_phase1(tgt);
 
-       if ((vha->vha_tgt.qla_tgt != NULL) && !tgt->tgt_stopped)
+       if (!tgt->tgt_stopped)
                qlt_stop_phase2(tgt);
 
        for (i = 0; i < vha->hw->max_qpairs + 1; i++) {