aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-10-30 07:55:03 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-10-30 16:50:39 -0400
commit22403def134e2c1017cb04ae9129a38e841b2d8c (patch)
treeb513210b85fad90cd4309162cfbf30972bf996fa /net/mac80211
parente7d17cf4f7e1b8d06575b6db2397c99c151674b8 (diff)
mac80211: also drop qos-nullfunc frames silently
We drop nullfunc frames, but not qos-nullfunc frames, even though those could be used for PS state control as well. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/rx.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index f862399f7ce1..51cb8bc3af81 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -886,12 +886,17 @@ ieee80211_rx_h_sta_process(struct ieee80211_rx_data *rx)
886 } 886 }
887 } 887 }
888 888
889 /* Drop data::nullfunc frames silently, since they are used only to 889 /*
890 * control station power saving mode. */ 890 * Drop (qos-)data::nullfunc frames silently, since they
891 if (ieee80211_is_nullfunc(hdr->frame_control)) { 891 * are used only to control station power saving mode.
892 */
893 if (ieee80211_is_nullfunc(hdr->frame_control) ||
894 ieee80211_is_qos_nullfunc(hdr->frame_control)) {
892 I802_DEBUG_INC(rx->local->rx_handlers_drop_nullfunc); 895 I802_DEBUG_INC(rx->local->rx_handlers_drop_nullfunc);
893 /* Update counter and free packet here to avoid counting this 896 /*
894 * as a dropped packed. */ 897 * Update counter and free packet here to avoid
898 * counting this as a dropped packed.
899 */
895 sta->rx_packets++; 900 sta->rx_packets++;
896 dev_kfree_skb(rx->skb); 901 dev_kfree_skb(rx->skb);
897 return RX_QUEUED; 902 return RX_QUEUED;