From 6094a6154c8f505530a7a0d0d49990faecc969b7 Mon Sep 17 00:00:00 2001 From: sam Date: Thu, 30 Oct 2008 16:22:04 +0000 Subject: Fix checks for fast frames negotiation. ni_ath_flags holds the capabilities reported by the ap. These need to be cross-checked against the local configuration in the vap. Previously we were only checking the ap capabilities which meant that if an ap reported it was ff-capable but we were not setup to use them we'd try to do ff aggregation and drop the frame. There are a number of problems to be fixed here but applying this fix immediately as the problem causes all traffic to stop (and has not workaround). Reported by: Ashish Shukla --- sys/dev/ath/if_ath.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sys/dev') diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 712b0cc..f445811 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -1999,7 +1999,7 @@ ath_start(struct ifnet *ifp) ni = (struct ieee80211_node *) m->m_pkthdr.rcvif; pri = M_WME_GETAC(m); txq = sc->sc_ac2q[pri]; - if (ni->ni_ath_flags & IEEE80211_NODE_FF) { + if (IEEE80211_ATH_CAP(ni->ni_vap, ni, IEEE80211_NODE_FF)) { /* * Check queue length; if too deep drop this * frame (tail drop considered good). -- cgit v1.1