Page MenuHomeFreeBSD

D47645.diff
No OneTemporary

D47645.diff

diff --git a/sys/dev/ath/if_ath_tx.c b/sys/dev/ath/if_ath_tx.c
--- a/sys/dev/ath/if_ath_tx.c
+++ b/sys/dev/ath/if_ath_tx.c
@@ -2050,7 +2050,7 @@
*/
if (IEEE80211_QOS_HAS_SEQ(wh) &&
(! IEEE80211_IS_MULTICAST(wh->i_addr1)) &&
- (subtype != IEEE80211_FC0_SUBTYPE_QOS_NULL)) {
+ (! IEEE80211_IS_QOS_NULL(wh))) {
bf->bf_state.bfs_dobaw = 1;
}
}
@@ -2991,7 +2991,7 @@
* RX side.
*/
subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
- if (subtype == IEEE80211_FC0_SUBTYPE_QOS_NULL) {
+ if (IEEE80211_IS_QOS_NULL(wh)) {
/* XXX no locking for this TID? This is a bit of a problem. */
seqno = ni->ni_txseqs[IEEE80211_NONQOS_TID];
INCR(ni->ni_txseqs[IEEE80211_NONQOS_TID], IEEE80211_SEQ_RANGE);
diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h
--- a/sys/net80211/ieee80211.h
+++ b/sys/net80211/ieee80211.h
@@ -274,6 +274,16 @@
IEEE80211_FC0_TYPE_DATA, \
IEEE80211_FC0_SUBTYPE_QOS_DATA))
+/*
+ * Return true if this frame is a QoS NULL data frame.
+ */
+#define IEEE80211_IS_QOS_NULL(wh) \
+ (IEEE80211_IS_FC0_CHECK_VER_TYPE_SUBTYPE(wh, \
+ IEEE80211_FC0_VERSION_0, \
+ IEEE80211_FC0_TYPE_DATA, \
+ IEEE80211_FC0_SUBTYPE_QOS_NULL))
+
+
#define IEEE80211_FC1_DIR_MASK 0x03
#define IEEE80211_FC1_DIR_NODS 0x00 /* STA->STA */
#define IEEE80211_FC1_DIR_TODS 0x01 /* STA->AP */

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 19, 4:54 PM (19 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14696722
Default Alt Text
D47645.diff (1 KB)

Event Timeline