diff options
Diffstat (limited to 'sys/dev/mii')
-rw-r--r-- | sys/dev/mii/mii.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/mii/mii.c b/sys/dev/mii/mii.c index 9a63276..aad3573 100644 --- a/sys/dev/mii/mii.c +++ b/sys/dev/mii/mii.c @@ -110,14 +110,17 @@ int miibus_probe(dev) { struct mii_attach_args ma, *args; struct mii_data *mii; - device_t child = NULL, parent; - int bmsr, capmask = 0xFFFFFFFF; + device_t child = NULL, parent, *children; + int bmsr, capmask = 0xFFFFFFFF, nchildren; mii = device_get_softc(dev); parent = device_get_parent(dev); LIST_INIT(&mii->mii_phys); for (ma.mii_phyno = 0; ma.mii_phyno < MII_NPHY; ma.mii_phyno++) { + device_get_children(dev, &children, &nchildren); + if (nchildren) + break; /* * Check to see if there is a PHY at this address. Note, * many braindead PHYs report 0/0 in their ID registers, |