| Submitter | Giuseppe CAVALLARO |
|---|---|
| Date | Feb. 7, 2013, 6:47 a.m. |
| Message ID | <1360219672-27980-2-git-send-email-peppe.cavallaro@st.com> |
| Download | mbox | patch |
| Permalink | /patch/218827/ |
| State | Accepted |
| Delegated to: | David Miller |
| Headers | show |
Comments
From: Giuseppe CAVALLARO <peppe.cavallaro@st.com> Date: Thu, 7 Feb 2013 07:47:52 +0100 > With this patch the stmmac fails in case of the phy device > is not found; w/o this fix the mdio can be register twice when > do down/up the iface and this is not correct. > > Reported-by: Stas <stsp@list.ru> > Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c index 0376a5e..0b9829f 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c @@ -188,8 +188,6 @@ int stmmac_mdio_register(struct net_device *ndev) goto bus_register_fail; } - priv->mii = new_bus; - found = 0; for (addr = 0; addr < PHY_MAX_ADDR; addr++) { struct phy_device *phydev = new_bus->phy_map[addr]; @@ -237,8 +235,14 @@ int stmmac_mdio_register(struct net_device *ndev) } } - if (!found) + if (!found) { pr_warning("%s: No PHY found\n", ndev->name); + mdiobus_unregister(new_bus); + mdiobus_free(new_bus); + return -ENODEV; + } + + priv->mii = new_bus; return 0;
With this patch the stmmac fails in case of the phy device is not found; w/o this fix the mdio can be register twice when do down/up the iface and this is not correct. Reported-by: Stas <stsp@list.ru> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> --- drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-)