From c26d1cbd7eb872a73d680663ab2340f1997498dd Mon Sep 17 00:00:00 2001 From: sam Date: Sat, 7 Aug 2004 00:45:05 +0000 Subject: Pickup Giant in ath_rx_proc and when handling a beacon miss in order to satisfy the assertion in if_start. --- sys/dev/ath/if_ath.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sys/dev/ath/if_ath.c') diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index b8761e6..2c04c8e 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -532,7 +532,9 @@ ath_bmiss_proc(void *arg, int pending) * machine will drop us into scanning after timing * out waiting for a probe response. */ + NET_LOCK_GIANT(); ieee80211_new_state(ic, IEEE80211_S_ASSOC, -1); + NET_UNLOCK_GIANT(); } } @@ -1662,6 +1664,8 @@ ath_rx_proc(void *arg, int npending) u_int phyerr; HAL_STATUS status; + NET_LOCK_GIANT(); /* XXX */ + DPRINTF(ATH_DEBUG_RX_PROC, ("%s: pending %u\n", __func__, npending)); do { bf = TAILQ_FIRST(&sc->sc_rxbuf); @@ -1815,6 +1819,8 @@ ath_rx_proc(void *arg, int npending) ath_hal_rxmonitor(ah); /* rx signal state monitoring */ ath_hal_rxena(ah); /* in case of RXEOL */ + + NET_UNLOCK_GIANT(); /* XXX */ #undef PA2DESC } -- cgit v1.1