[patch 4/7] sundance: PHY address form 0, only for device ID 0x0200 (IP100A) (20070605)
From: akpm@linux-foundation.org
Date: 2007-07-09 18:51:07
From: akpm@linux-foundation.org
Date: 2007-07-09 18:51:07
From: Jesse Huang <redacted> Search PHY address form 0, only for device ID 0x0200 (IP100A). Other device are from PHY address 1. Signed-off-by: Jesse Huang <redacted> Cc: Jeff Garzik <redacted> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> --- drivers/net/sundance.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) diff -puN drivers/net/sundance.c~sundance-phy-address-form-0-only-for-device-id-0x0200 drivers/net/sundance.c
--- a/drivers/net/sundance.c~sundance-phy-address-form-0-only-for-device-id-0x0200
+++ a/drivers/net/sundance.c@@ -562,7 +562,11 @@ static int __devinit sundance_probe1 (st * It seems some phys doesn't deal well with address 0 being accessed * first, so leave address zero to the end of the loop (32 & 31). */ - for (phy = 1; phy <= 32 && phy_idx < MII_CNT; phy++) { + if (sundance_pci_tbl[np->chip_id].device == 0x0200) + phy = 0; + else + phy = 1; + for (; phy <= 32 && phy_idx < MII_CNT; phy++) { int phyx = phy & 0x1f; int mii_status = mdio_read(dev, phyx, MII_BMSR); if (mii_status != 0xffff && mii_status != 0x0000) {
_