| From foo@baz Wed Aug 22 09:42:09 CEST 2018 |
| From: Vikas Gupta <vikas.gupta@broadcom.com> |
| Date: Mon, 9 Jul 2018 02:24:52 -0400 |
| Subject: bnxt_en: Fix for system hang if request_irq fails |
| |
| From: Vikas Gupta <vikas.gupta@broadcom.com> |
| |
| [ Upstream commit c58387ab1614f6d7fb9e244f214b61e7631421fc ] |
| |
| Fix bug in the error code path when bnxt_request_irq() returns failure. |
| bnxt_disable_napi() should not be called in this error path because |
| NAPI has not been enabled yet. |
| |
| Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.") |
| Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com> |
| Signed-off-by: Michael Chan <michael.chan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c |
| +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c |
| @@ -5560,7 +5560,7 @@ static int __bnxt_open_nic(struct bnxt * |
| rc = bnxt_request_irq(bp); |
| if (rc) { |
| netdev_err(bp->dev, "bnxt_request_irq err: %x\n", rc); |
| - goto open_err; |
| + goto open_err_irq; |
| } |
| } |
| |
| @@ -5593,6 +5593,8 @@ static int __bnxt_open_nic(struct bnxt * |
| |
| open_err: |
| bnxt_disable_napi(bp); |
| + |
| +open_err_irq: |
| bnxt_del_napi(bp); |
| |
| open_err_free_mem: |