I accidently didn't revert the delayed MII bus scan correctly which resulted in callling the

device's attach() method twice - this would let every network device that found a MII PHY fall into 
an endless loop on start. In other words 3com and VIA Rhine should now work fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22815 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2007-11-03 16:43:28 +00:00
parent e60d7937c9
commit e25593c034
1 changed files with 3 additions and 5 deletions

View File

@ -405,15 +405,13 @@ bus_generic_attach(device_t dev)
while ((child = list_get_next_item(&dev->children, child)) != NULL) {
if (child->driver == NULL) {
driver_t *driver = __haiku_select_miibus_driver(child);
if (driver) {
device_set_driver(child, driver);
child->methods.attach(child);
} else {
if (driver == NULL) {
struct mii_attach_args *ma = device_get_ivars(child);
device_printf(dev, "No PHY module found (%x/%x)!\n", ma->mii_id1,
ma->mii_id2);
}
} else
device_set_driver(child, driver);
} else if (child->driver == &miibus_driver)
child->methods.probe(child);