]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: qedi: Fix error codes in qedi_alloc_global_queues()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 10 Aug 2021 08:47:53 +0000 (11:47 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 18 Sep 2021 11:41:54 +0000 (13:41 +0200)
[ Upstream commit 4dbe57d46d54a847875fa33e7d05877bb341585e ]

This function had some left over code that returned 1 on error instead
negative error codes.  Convert everything to use negative error codes.  The
caller treats all non-zero returns the same so this does not affect run
time.

A couple places set "rc" instead of "status" so those error paths ended up
returning success by mistake.  Get rid of the "rc" variable and use
"status" everywhere.

Remove the bogus "status = 0" initialization, as a future proofing measure
so the compiler will warn about uninitialized error codes.

Link: https://lore.kernel.org/r/20210810084753.GD23810@kili
Fixes: ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI driver framework.")
Acked-by: Manish Rangankar <mrangankar@marvell.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qedi/qedi_main.c

index edf91543270485d9393d5d6bf0ddbe169ae1b640..99e1a323807d1b5a25879a6cc0c23389d9e54a81 100644 (file)
@@ -1621,7 +1621,7 @@ static int qedi_alloc_global_queues(struct qedi_ctx *qedi)
 {
        u32 *list;
        int i;
-       int status = 0, rc;
+       int status;
        u32 *pbl;
        dma_addr_t page;
        int num_pages;
@@ -1632,14 +1632,14 @@ static int qedi_alloc_global_queues(struct qedi_ctx *qedi)
         */
        if (!qedi->num_queues) {
                QEDI_ERR(&qedi->dbg_ctx, "No MSI-X vectors available!\n");
-               return 1;
+               return -ENOMEM;
        }
 
        /* Make sure we allocated the PBL that will contain the physical
         * addresses of our queues
         */
        if (!qedi->p_cpuq) {
-               status = 1;
+               status = -EINVAL;
                goto mem_alloc_failure;
        }
 
@@ -1654,13 +1654,13 @@ static int qedi_alloc_global_queues(struct qedi_ctx *qedi)
                  "qedi->global_queues=%p.\n", qedi->global_queues);
 
        /* Allocate DMA coherent buffers for BDQ */
-       rc = qedi_alloc_bdq(qedi);
-       if (rc)
+       status = qedi_alloc_bdq(qedi);
+       if (status)
                goto mem_alloc_failure;
 
        /* Allocate DMA coherent buffers for NVM_ISCSI_CFG */
-       rc = qedi_alloc_nvm_iscsi_cfg(qedi);
-       if (rc)
+       status = qedi_alloc_nvm_iscsi_cfg(qedi);
+       if (status)
                goto mem_alloc_failure;
 
        /* Allocate a CQ and an associated PBL for each MSI-X