From: Florian Fainelli Date: Tue, 4 Aug 2009 10:52:41 +0000 (+0000) Subject: cpmac: fix wrong MDIO bus identifier X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=d76c626b922e279c7764ec46fb1b9bbd41538f35;p=openwrt%2Fstaging%2Fblogic.git cpmac: fix wrong MDIO bus identifier This patch fixes the wrong MDIO bus identifier which was set to 0 unconditionaly, suitable for external switches while it is actually 1 for PHYs different than external switches which are autodetected. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller --- diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c index fd5e32cbcb87..c951dd43f29b 100644 --- a/drivers/net/cpmac.c +++ b/drivers/net/cpmac.c @@ -1109,7 +1109,7 @@ static int external_switch; static int __devinit cpmac_probe(struct platform_device *pdev) { int rc, phy_id; - char *mdio_bus_id = "0"; + char mdio_bus_id[BUS_ID_SIZE]; struct resource *mem; struct cpmac_priv *priv; struct net_device *dev; @@ -1127,7 +1127,7 @@ static int __devinit cpmac_probe(struct platform_device *pdev) if (phy_id == PHY_MAX_ADDR) { if (external_switch || dumb_switch) { - mdio_bus_id = 0; /* fixed phys bus */ + strncpy(mdio_bus_id, "0", BUS_ID_SIZE); /* fixed phys bus */ phy_id = pdev->id; } else { dev_err(&pdev->dev, "no PHY present\n"); @@ -1254,7 +1254,7 @@ int __devinit cpmac_init(void) } cpmac_mii->phy_mask = ~(mask | 0x80000000); - snprintf(cpmac_mii->id, MII_BUS_ID_SIZE, "0"); + snprintf(cpmac_mii->id, MII_BUS_ID_SIZE, "1"); res = mdiobus_register(cpmac_mii); if (res)