stmmac: socfpga: remove extra call to socfpga_dwmac_setup
authorDinh Nguyen <dinguyen@opensource.altera.com>
Fri, 15 Apr 2016 01:42:29 +0000 (20:42 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sun, 17 Apr 2016 01:46:56 +0000 (21:46 -0400)
In the socfpga_dwmac_probe function, we have a call to socfpga_dwmac_setup,
which is already called from socfpga_dwmac_init later in the probe function.
Remove this extra call to socfpga_dwmac_setup.

Also we should not be calling socfpga_dwmac_setup() directly without wrapping
it around the proper reset assert/deasserts. That is because the
socfpga_dwmac_setup() is setting up PHY modes in the system manager, and it
is requires the EMAC's to be in reset during the PHY setup.

Reported-by: Matthew Gerlach <mgerlach@opensource.altera.com>
Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c

index f0d797ab74d8f2ea927c6956525b728b9c20ddca..41f4c58b22bd89c034f3f1cfe1758e26383fe6ab 100644 (file)
@@ -267,12 +267,6 @@ static int socfpga_dwmac_probe(struct platform_device *pdev)
                return ret;
        }
 
-       ret = socfpga_dwmac_setup(dwmac);
-       if (ret) {
-               dev_err(dev, "couldn't setup SoC glue (%d)\n", ret);
-               return ret;
-       }
-
        plat_dat->bsp_priv = dwmac;
        plat_dat->init = socfpga_dwmac_init;
        plat_dat->exit = socfpga_dwmac_exit;