diff options
author | Felix Fietkau <nbd@openwrt.org> | 2009-03-22 22:10:54 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2009-03-22 22:10:54 +0000 |
commit | 8d217b716266993846d4d6921ed75158230d8fb1 (patch) | |
tree | 4f58bbb141bcb9a0c6825b9d90fb3414b39de5df /target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch | |
parent | fd11bfec64d313b1d629ac454ebba7cab4339a72 (diff) | |
download | upstream-8d217b716266993846d4d6921ed75158230d8fb1.tar.gz upstream-8d217b716266993846d4d6921ed75158230d8fb1.tar.bz2 upstream-8d217b716266993846d4d6921ed75158230d8fb1.zip |
atheros: fix mdio bus registration for multiple ethernet interfaces
SVN-Revision: 14984
Diffstat (limited to 'target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch')
-rw-r--r-- | target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch b/target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch index ea61bcd3e3..8d1d24f748 100644 --- a/target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch +++ b/target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch @@ -25,7 +25,7 @@ obj-$(CONFIG_DECLANCE) += declance.o --- /dev/null +++ b/drivers/net/ar231x.c -@@ -0,0 +1,1267 @@ +@@ -0,0 +1,1268 @@ +/* + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device. + * @@ -301,23 +301,24 @@ + sp->mii_bus->write = ar231x_mdiobus_write; + sp->mii_bus->reset = ar231x_mdiobus_reset; + sp->mii_bus->name = "ar231x_eth_mii"; -+ snprintf(sp->mii_bus->id, MII_BUS_ID_SIZE, "0"); ++ snprintf(sp->mii_bus->id, MII_BUS_ID_SIZE, "%d", pdev->id); + sp->mii_bus->irq = kmalloc(sizeof(int), GFP_KERNEL); + *sp->mii_bus->irq = PHY_POLL; + + mdiobus_register(sp->mii_bus); + + if (ar231x_mdiobus_probe(dev) != 0) { -+ printk(KERN_ERR "ar231x: mdiobus_probe failed"); ++ printk(KERN_ERR "%s: mdiobus_probe failed\n", dev->name); + rx_tasklet_cleanup(dev); + ar231x_init_cleanup(dev); + unregister_netdev(dev); + kfree(dev); -+ } else { -+ /* start link poll timer */ -+ ar231x_setup_timer(dev); ++ return -ENODEV; + } + ++ /* start link poll timer */ ++ ar231x_setup_timer(dev); ++ + return 0; +} + |