2016-03-06 00:00:21

by Andy Duan

[permalink] [raw]
Subject: RE: [PATCH RESEND] net:fec:Fix error checking in the function fec_enet_init

From: Nicholas Krause <[email protected]> Sent: Saturday, March 05, 2016 4:00 AM
> To: [email protected]
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]
> 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 <[email protected]>
> ---
> 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 <[email protected]>