akpm@linux-foundation.org wrote: > From: Jesse Huang > > Search PHY address form 0, only for device ID 0x0200 (IP100A). Other > device are from PHY address 1. > > Signed-off-by: Jesse Huang > Cc: Jeff Garzik > Signed-off-by: Andrew Morton > --- > > 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 > @@ -559,7 +559,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) { applied the attached patch.