bnxt_en: Return error if bnxt_alloc_ctx_mem() fails.
authorMichael Chan <michael.chan@broadcom.com>
Sun, 22 Mar 2020 20:40:03 +0000 (16:40 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Mar 2020 04:42:48 +0000 (21:42 -0700)
The current code ignores the return value from
bnxt_hwrm_func_backing_store_cfg(), causing the driver to proceed in
the init path even when this vital firmware call has failed.  Fix it
by propagating the error code to the caller.

Fixes: 1b9394e5a2ad ("bnxt_en: Configure context memory on new devices.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index b66ee1d..0628a6a 100644 (file)
@@ -6880,12 +6880,12 @@ skip_rdma:
        }
        ena |= FUNC_BACKING_STORE_CFG_REQ_DFLT_ENABLES;
        rc = bnxt_hwrm_func_backing_store_cfg(bp, ena);
-       if (rc)
+       if (rc) {
                netdev_err(bp->dev, "Failed configuring context mem, rc = %d.\n",
                           rc);
-       else
-               ctx->flags |= BNXT_CTX_FLAG_INITED;
-
+               return rc;
+       }
+       ctx->flags |= BNXT_CTX_FLAG_INITED;
        return 0;
 }