From 8c3773b650da3e75e3d251c35cad68c6a7d8b4c8 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 7 Jan 2010 20:23:53 +0100 Subject: [PATCH] --- yaml --- r: 179247 b: refs/heads/master c: d79074488083ec0d7ecd15352192dc1631f25643 h: refs/heads/master i: 179245: 6039d3cb28e8a7b4705dd128ac0a367fc723fdb4 179243: 02ca97690b9236babec5621f1180c41c159c8585 179239: c73b6f679833c46409a18c1c65973b68646c6cb9 179231: 54543e61e3f4a0ee29c0fdc01ce16baf93d72c88 v: v3 --- [refs] | 2 +- trunk/net/mac80211/mlme.c | 4 +++- trunk/net/mac80211/rx.c | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index d7bd62d1e4d0..525e0581668b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 045cfb71a3901005bf6dcedae98cecb3360a0bfc +refs/heads/master: d79074488083ec0d7ecd15352192dc1631f25643 diff --git a/trunk/net/mac80211/mlme.c b/trunk/net/mac80211/mlme.c index 3e1eab963b8e..05a18f43e1bf 100644 --- a/trunk/net/mac80211/mlme.c +++ b/trunk/net/mac80211/mlme.c @@ -1963,7 +1963,9 @@ static void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata, rma = ieee80211_rx_mgmt_disassoc(sdata, mgmt, skb->len); break; case IEEE80211_STYPE_ACTION: - /* XXX: differentiate, can only happen for CSA now! */ + if (mgmt->u.action.category != WLAN_CATEGORY_SPECTRUM_MGMT) + break; + ieee80211_sta_process_chanswitch(sdata, &mgmt->u.action.u.chan_switch.sw_elem, ifmgd->associated); diff --git a/trunk/net/mac80211/rx.c b/trunk/net/mac80211/rx.c index 54296999834b..82a30c1bf3ab 100644 --- a/trunk/net/mac80211/rx.c +++ b/trunk/net/mac80211/rx.c @@ -2015,6 +2015,10 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) } break; default: + /* do not process rejected action frames */ + if (mgmt->u.action.category & 0x80) + return RX_DROP_MONITOR; + return RX_CONTINUE; }