aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/mac80211/ieee80211_sta.c3
-rw-r--r--net/mac80211/rx.c2
-rw-r--r--net/mac80211/sta_info.h5
3 files changed, 4 insertions, 6 deletions
diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c
index f98b2e1cedf3..1b4ebe81191c 100644
--- a/net/mac80211/ieee80211_sta.c
+++ b/net/mac80211/ieee80211_sta.c
@@ -1279,8 +1279,7 @@ static void ieee80211_rx_mgmt_assoc_resp(struct net_device *dev,
1279 } 1279 }
1280 1280
1281 sta->dev = dev; 1281 sta->dev = dev;
1282 sta->flags |= WLAN_STA_AUTH | WLAN_STA_ASSOC; 1282 sta->flags |= WLAN_STA_AUTH | WLAN_STA_ASSOC | WLAN_STA_ASSOC_AP;
1283 sta->assoc_ap = 1;
1284 1283
1285 rates = 0; 1284 rates = 0;
1286 mode = local->oper_hw_mode; 1285 mode = local->oper_hw_mode;
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 75a1e204b9b6..4fb8c7026f11 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1398,7 +1398,7 @@ void __ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb,
1398 skb = rx.skb; 1398 skb = rx.skb;
1399 1399
1400 skb_push(skb, radiotap_len); 1400 skb_push(skb, radiotap_len);
1401 if (sta && !sta->assoc_ap && !(sta->flags & WLAN_STA_WDS) && 1401 if (sta && !(sta->flags & (WLAN_STA_WDS | WLAN_STA_ASSOC_AP)) &&
1402 !local->iff_promiscs && !is_multicast_ether_addr(hdr->addr1)) { 1402 !local->iff_promiscs && !is_multicast_ether_addr(hdr->addr1)) {
1403 rx.flags |= IEEE80211_TXRXD_RXRA_MATCH; 1403 rx.flags |= IEEE80211_TXRXD_RXRA_MATCH;
1404 ieee80211_invoke_rx_handlers(local, local->rx_handlers, &rx, 1404 ieee80211_invoke_rx_handlers(local, local->rx_handlers, &rx,
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h
index 3b0fcb255717..e3ae0f5cc228 100644
--- a/net/mac80211/sta_info.h
+++ b/net/mac80211/sta_info.h
@@ -26,6 +26,8 @@
26 * send and receive non-IEEE 802.1X frames 26 * send and receive non-IEEE 802.1X frames
27 */ 27 */
28#define WLAN_STA_SHORT_PREAMBLE BIT(7) 28#define WLAN_STA_SHORT_PREAMBLE BIT(7)
29/* whether this is an AP that we are associated with as a client */
30#define WLAN_STA_ASSOC_AP BIT(8)
29#define WLAN_STA_WME BIT(9) 31#define WLAN_STA_WME BIT(9)
30#define WLAN_STA_WDS BIT(27) 32#define WLAN_STA_WDS BIT(27)
31 33
@@ -90,9 +92,6 @@ struct sta_info {
90 int channel_use; 92 int channel_use;
91 int channel_use_raw; 93 int channel_use_raw;
92 94
93 int assoc_ap; /* whether this is an AP that we are
94 * associated with as a client */
95
96#ifdef CONFIG_MAC80211_DEBUG_COUNTERS 95#ifdef CONFIG_MAC80211_DEBUG_COUNTERS
97 unsigned int wme_rx_queue[NUM_RX_DATA_QUEUES]; 96 unsigned int wme_rx_queue[NUM_RX_DATA_QUEUES];
98 unsigned int wme_tx_queue[NUM_RX_DATA_QUEUES]; 97 unsigned int wme_tx_queue[NUM_RX_DATA_QUEUES];