diff options
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index fcc0a5995791..47d395a51923 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -1877,18 +1877,13 @@ ieee80211_rx_h_mgmt(struct ieee80211_rx_data *rx) | |||
1877 | if (ieee80211_vif_is_mesh(&sdata->vif)) | 1877 | if (ieee80211_vif_is_mesh(&sdata->vif)) |
1878 | return ieee80211_mesh_rx_mgmt(sdata, rx->skb, rx->status); | 1878 | return ieee80211_mesh_rx_mgmt(sdata, rx->skb, rx->status); |
1879 | 1879 | ||
1880 | if (sdata->vif.type != NL80211_IFTYPE_STATION && | 1880 | if (sdata->vif.type != NL80211_IFTYPE_ADHOC) |
1881 | sdata->vif.type != NL80211_IFTYPE_ADHOC) | 1881 | return ieee80211_ibss_rx_mgmt(sdata, rx->skb, rx->status); |
1882 | return RX_DROP_MONITOR; | ||
1883 | |||
1884 | 1882 | ||
1885 | if (sdata->vif.type == NL80211_IFTYPE_STATION) { | 1883 | if (sdata->vif.type == NL80211_IFTYPE_STATION) |
1886 | if (sdata->flags & IEEE80211_SDATA_USERSPACE_MLME) | ||
1887 | return RX_DROP_MONITOR; | ||
1888 | return ieee80211_sta_rx_mgmt(sdata, rx->skb, rx->status); | 1884 | return ieee80211_sta_rx_mgmt(sdata, rx->skb, rx->status); |
1889 | } | ||
1890 | 1885 | ||
1891 | return ieee80211_ibss_rx_mgmt(sdata, rx->skb, rx->status); | 1886 | return RX_DROP_MONITOR; |
1892 | } | 1887 | } |
1893 | 1888 | ||
1894 | static void ieee80211_rx_michael_mic_report(struct net_device *dev, | 1889 | static void ieee80211_rx_michael_mic_report(struct net_device *dev, |