Do not report current link status if driver is not running.
Reporting link status in driver has a side-effect that makes mii(4) check current link status. mii(4) will call link status change callback when it sees link state change. Normally this wouldn't have problems. However, ASF/IPMI firmware can actively access PHY regardless of driver's running state such that reporting link status for not-running interface can generate meaningless link UP/DOWN messages. This change also makes dhclient think driver got a valid link regardless of link establishment so it will bypass dhclient's initial link status check. I think that wouldn't be issue though. Tested by: Daniel Braniss <danny@cs.huji.ac.il>
This commit is contained in:
parent
8880214a49
commit
bcc118f0b2
@ -5583,6 +5583,10 @@ bge_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr)
|
||||
|
||||
BGE_LOCK(sc);
|
||||
|
||||
if ((ifp->if_flags & IFF_UP) == 0) {
|
||||
BGE_UNLOCK(sc);
|
||||
return;
|
||||
}
|
||||
if (sc->bge_flags & BGE_FLAG_TBI) {
|
||||
ifmr->ifm_status = IFM_AVALID;
|
||||
ifmr->ifm_active = IFM_ETHER;
|
||||
|
Loading…
x
Reference in New Issue
Block a user