Re: [patch 2.6.14-rc3 2/3] sundance: probe PHYs from MII address 0
From: Jeff Garzik <hidden>
Date: 2005-10-19 02:31:59
Also in:
lkml
From: Jeff Garzik <hidden>
Date: 2005-10-19 02:31:59
Also in:
lkml
John W. Linville wrote:
Probe for PHYs starting at MII address 0 instead of MII address 1. This covers the entire range of MII addresses. Signed-off-by: John W. Linville <redacted> --- drivers/net/sundance.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c --- a/drivers/net/sundance.c +++ b/drivers/net/sundance.c@@ -608,7 +608,7 @@ static int __devinit sundance_probe1 (st np->phys[0] = 1; /* Default setting */ np->mii_preamble_required++; - for (phy = 1; phy < 32 && phy_idx < MII_CNT; phy++) { + for (phy = 0; phy < 32 && phy_idx < MII_CNT; phy++) {
NAK. MII address 0 should be scanned _last_, after all other addresses. In some phys, it is a ghost, mirroring another address. Take a look at some of the original Becker MII scan code from ftp://ftp.scyld.com/pub/network/ to see an elegant method for this. Becker's scan code would utilize a mask to keep the loop nice and elegant, eliminating an "if (phy == 32) phy = 0;" test. Jeff