diff options
-rw-r--r-- | net/mac80211/ieee80211_sta.c | 3 | ||||
-rw-r--r-- | net/mac80211/rx.c | 2 | ||||
-rw-r--r-- | net/mac80211/sta_info.h | 5 |
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]; |