diff options
| author | Bjoern A. Zeeb <bz@FreeBSD.org> | 2008-04-08 11:51:17 +0000 |
|---|---|---|
| committer | Bjoern A. Zeeb <bz@FreeBSD.org> | 2008-04-08 11:51:17 +0000 |
| commit | 902827f6f3e795e979ab94359bc9f75ea05f539e (patch) | |
| tree | 91b5da26bca032545419babfafbf63fdc46e728c /sys/dev | |
| parent | 97344c5281b4c5ce3cd9d0c2f3a90b23fb9ff926 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/bge/if_bge.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index 4cd179930773..b0238f7e16b8 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -3795,6 +3795,23 @@ bge_ifmedia_upd_locked(struct ifnet *ifp) } mii_mediachg(mii); + /* + * Force an interrupt so that we will call bge_link_upd + * if needed and clear any pending link state attention. + * Without this we are not getting any further interrupts + * for link state changes and thus will not UP the link and + * not be able to send in bge_start_locked. The only + * way to get things working was to receive a packet and + * get an RX intr. + * bge_tick should help for fiber cards and we might not + * need to do this here if BGE_FLAG_TBI is set but as + * we poll for fiber anyway it should not harm. + */ + BGE_SETBIT(sc, BGE_MISC_LOCAL_CTL, BGE_MLC_INTR_SET); +#ifdef notyet + BGE_SETBIT(sc, BGE_HCC_MODE, BGE_HCCMODE_ATTN); +#endif + return (0); } |
