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

Ben Hutchings
2018-09-11T20:14:33Z

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@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.
[...]
> --- 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