mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
Return from mii_attach() after calling bus_generic_attach(9) on the device_t
of the MAC driver in order to attach miibus(4) on the first pass instead of falling through to also calling it on the device_t of miibus(4). The latter code flow was intended to attach the PHY drivers the same way regardless of whether it's the first or a repeated pass, modulo the bus_generic_attach() call in miibus_attach() which shouldn't be there. However, it turned out that these variants cause miibus(4) to be attached twice under certain conditions when using MAC drivers as modules. Submitted by: yongari MFC after: 3 days
This commit is contained in:
parent
6a9974a4d9
commit
d0fae855ef
1 changed files with 3 additions and 0 deletions
|
|
@ -438,6 +438,9 @@ mii_attach(device_t dev, device_t *miibus, struct ifnet *ifp,
|
|||
rv = bus_generic_attach(dev);
|
||||
if (rv != 0)
|
||||
goto fail;
|
||||
|
||||
/* Attaching of the PHY drivers is done in miibus_attach(). */
|
||||
return (0);
|
||||
}
|
||||
rv = bus_generic_attach(*miibus);
|
||||
if (rv != 0)
|
||||
|
|
|
|||
Loading…
Reference in a new issue