summaryrefslogtreecommitdiffstats
path: root/sys/dev/ath
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2008-10-30 16:22:04 +0000
committersam <sam@FreeBSD.org>2008-10-30 16:22:04 +0000
commit6094a6154c8f505530a7a0d0d49990faecc969b7 (patch)
treef9342e8ef90b370dd90a7749a0dca79b9ef07f92 /sys/dev/ath
parent11fd66de64959e9900dfb765d8f6987bcf8c6a8f (diff)
downloadFreeBSD-src-6094a6154c8f505530a7a0d0d49990faecc969b7.zip
FreeBSD-src-6094a6154c8f505530a7a0d0d49990faecc969b7.tar.gz
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
Diffstat (limited to 'sys/dev/ath')
-rw-r--r--sys/dev/ath/if_ath.c2
1 files changed, 1 insertions, 1 deletions
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).
OpenPOWER on IntegriCloud