Re: [PATCH 4.4 51/79] bnxt_en: Fix for system hang if request_irq fails

From: Ben Hutchings
Date: Tue Sep 11 2018 - 16:14:34 EST


On Thu, 2018-08-23 at 09:53 +0200, Greg Kroah-Hartman wrote:
> 4.4-stable review patch.ÂÂIf anyone has any objections, please let me know.
>
> ------------------
>
> From: Vikas Gupta <vikas.gupta@xxxxxxxxxxxx>
>
> [ 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.
[...]
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> @@ -4591,7 +4591,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;
> Â }
> Â }
> Â
> @@ -4629,6 +4629,8 @@ static int __bnxt_open_nic(struct bnxt *
> Â
> Âopen_err:
> Â bnxt_disable_napi(bp);
> +
> +open_err_irq:
> Â bnxt_del_napi(bp);

Shouldn't this added statement be conditional on irq_re_init?

Ben.

> Â
> Âopen_err_free_mem:

--
Ben Hutchings, Software Developer  Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United Kingdom