From: Nicholas Krause <xerofo...@gmail.com> Sent: Saturday, March 05, 2016 4:00 
AM
> To: da...@davemloft.net
> Cc: b38...@freescale.com; and...@lunn.ch; fabio.este...@freescale.com;
> l.st...@pengutronix.de; rmk+ker...@arm.linux.org.uk; trem...@gmail.com;
> johan...@sipsolutions.net; u.kleine-koe...@pengutronix.de;
> haoke...@gmail.com; net...@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: [PATCH RESEND] net:fec:Fix error checking in the function
> fec_enet_init
> 
> This fixes error checking in the function fec_enet_init to properly check if 
> the
> internal call to the function fec_enet_alloc_queue fails and if so immediately
> return the error code to the caller for it to handle it's own intended error 
> paths.
> 
> Signed-off-by: Nicholas Krause <xerofo...@gmail.com>
> ---
>  drivers/net/ethernet/freescale/fec_main.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/freescale/fec_main.c
> b/drivers/net/ethernet/freescale/fec_main.c
> index b349e6f..18c625f 100644
> --- a/drivers/net/ethernet/freescale/fec_main.c
> +++ b/drivers/net/ethernet/freescale/fec_main.c
> @@ -3123,6 +3123,7 @@ static int fec_enet_init(struct net_device *ndev)
>       dma_addr_t bd_dma;
>       int bd_size;
>       unsigned int i;
> +     int ret;
> 
>  #if defined(CONFIG_ARM)
>       fep->rx_align = 0xf;
> @@ -3132,7 +3133,9 @@ static int fec_enet_init(struct net_device *ndev)
>       fep->tx_align = 0x3;
>  #endif
> 
> -     fec_enet_alloc_queue(ndev);
> +     ret = fec_enet_alloc_queue(ndev);
> +     if (ret)
> +             return ret;
> 
>       if (fep->bufdesc_ex)
>               fep->bufdesc_size = sizeof(struct bufdesc_ex);
> --
> 2.1.4
Thanks.

Acked-by: Fugang Duan <fugang.d...@nxp.com>

Reply via email to