| From 22c52800b0c459b2fa61340ebd0a64604d423787 Mon Sep 17 00:00:00 2001 |
| From: Michael Chan <michael.chan@broadcom.com> |
| Date: Sun, 22 Mar 2020 16:40:03 -0400 |
| Subject: [PATCH] bnxt_en: Return error if bnxt_alloc_ctx_mem() fails. |
| |
| commit 0b5b561cea32d5bb1e0a82d65b755a3cb5212141 upstream. |
| |
| 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> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c |
| index 360df39b182d..9ffe0c451322 100644 |
| --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c |
| +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c |
| @@ -6480,12 +6480,12 @@ static int bnxt_alloc_ctx_mem(struct bnxt *bp) |
| } |
| 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; |
| } |
| |
| -- |
| 2.7.4 |
| |