svn commit: r251481 - head/sys/dev/bge
Pyun YongHyeon
yongari at FreeBSD.org
Fri Jun 7 01:01:40 UTC 2013
Author: yongari
Date: Fri Jun 7 01:01:39 2013
New Revision: 251481
URL: http://svnweb.freebsd.org/changeset/base/251481
Log:
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 at cs.huji.ac.il>
Modified:
head/sys/dev/bge/if_bge.c
Modified: head/sys/dev/bge/if_bge.c
==============================================================================
--- head/sys/dev/bge/if_bge.c Fri Jun 7 00:48:01 2013 (r251480)
+++ head/sys/dev/bge/if_bge.c Fri Jun 7 01:01:39 2013 (r251481)
@@ -5583,6 +5583,10 @@ bge_ifmedia_sts(struct ifnet *ifp, struc
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;
More information about the svn-src-all
mailing list