This patch avoids that Coverity reports the following:

Null-checking sp->u.iocb_cmd.u.ctarg.rsp suggests that it may be null, but
it has already been dereferenced on all paths leading to the check.

Cc: Himanshu Madhani <hmadh...@marvell.com>
Cc: Giridhar Malavali <gmalav...@marvell.com>
Signed-off-by: Bart Van Assche <bvanass...@acm.org>
---
 drivers/scsi/qla2xxx/qla_gs.c | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c
index f0dbd2169a4e..68f445dd0cde 100644
--- a/drivers/scsi/qla2xxx/qla_gs.c
+++ b/drivers/scsi/qla2xxx/qla_gs.c
@@ -3332,20 +3332,17 @@ static void qla2x00_async_gpnid_sp_done(void *s, int 
res)
        e = qla2x00_alloc_work(vha, QLA_EVT_UNMAP);
        if (!e) {
                /* please ignore kernel warning. otherwise, we have mem leak. */
-               if (sp->u.iocb_cmd.u.ctarg.req) {
-                       dma_free_coherent(&vha->hw->pdev->dev,
-                               sp->u.iocb_cmd.u.ctarg.req_allocated_size,
-                               sp->u.iocb_cmd.u.ctarg.req,
-                               sp->u.iocb_cmd.u.ctarg.req_dma);
-                       sp->u.iocb_cmd.u.ctarg.req = NULL;
-               }
-               if (sp->u.iocb_cmd.u.ctarg.rsp) {
-                       dma_free_coherent(&vha->hw->pdev->dev,
-                               sp->u.iocb_cmd.u.ctarg.rsp_allocated_size,
-                               sp->u.iocb_cmd.u.ctarg.rsp,
-                               sp->u.iocb_cmd.u.ctarg.rsp_dma);
-                       sp->u.iocb_cmd.u.ctarg.rsp = NULL;
-               }
+               dma_free_coherent(&vha->hw->pdev->dev,
+                                 sp->u.iocb_cmd.u.ctarg.req_allocated_size,
+                                 sp->u.iocb_cmd.u.ctarg.req,
+                                 sp->u.iocb_cmd.u.ctarg.req_dma);
+               sp->u.iocb_cmd.u.ctarg.req = NULL;
+
+               dma_free_coherent(&vha->hw->pdev->dev,
+                                 sp->u.iocb_cmd.u.ctarg.rsp_allocated_size,
+                                 sp->u.iocb_cmd.u.ctarg.rsp,
+                                 sp->u.iocb_cmd.u.ctarg.rsp_dma);
+               sp->u.iocb_cmd.u.ctarg.rsp = NULL;
 
                sp->free(sp);
                return;
-- 
2.22.0.rc1

Reply via email to