From: Petri Gynther Date: Mon, 30 Mar 2015 07:29:13 +0000 (-0700) Subject: net: bcmgenet: fix bcmgenet_open() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=fac25940c5e0d6f31d56bb2a704fadad6d5e382a;p=openwrt%2Fstaging%2Fblogic.git net: bcmgenet: fix bcmgenet_open() If bcmgenet_init_dma() fails, it cleans up after itself. Rx and Tx DMAs are off, and NAPI instances haven't been netif_napi_add()'ed. Therefore, we need to skip calling bcmgenet_fini_dma() on the error handling path. bcmgenet_resume() already does this correctly. Signed-off-by: Petri Gynther Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 546d8623d8eb..5238b33f7b8d 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -2666,7 +2666,7 @@ static int bcmgenet_open(struct net_device *dev) ret = bcmgenet_init_dma(priv); if (ret) { netdev_err(dev, "failed to initialize DMA\n"); - goto err_fini_dma; + goto err_clk_disable; } /* Always enable ring 16 - descriptor ring */