aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-03-24 13:38:20 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-03-24 13:38:20 +0000
commit2eda9ca6340d7ed4ed9cc9d73f6b18e4888298a1 (patch)
tree3a0853edf6e67aa03f5dbac529ad82538d225f62
parent59b085ff1bc216f702735f495040583b678292bf (diff)
downloadupstream-2eda9ca6340d7ed4ed9cc9d73f6b18e4888298a1.tar.gz
upstream-2eda9ca6340d7ed4ed9cc9d73f6b18e4888298a1.tar.bz2
upstream-2eda9ca6340d7ed4ed9cc9d73f6b18e4888298a1.zip
mac80211: fix dropping multicast proberequest frames for ad-hoc
SVN-Revision: 26284
-rw-r--r--package/mac80211/patches/570-mac80211_fix_ibss_probereq_handling.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/package/mac80211/patches/570-mac80211_fix_ibss_probereq_handling.patch b/package/mac80211/patches/570-mac80211_fix_ibss_probereq_handling.patch
new file mode 100644
index 0000000000..150713322d
--- /dev/null
+++ b/package/mac80211/patches/570-mac80211_fix_ibss_probereq_handling.patch
@@ -0,0 +1,19 @@
+--- a/net/mac80211/ibss.c
++++ b/net/mac80211/ibss.c
+@@ -661,7 +661,6 @@ static void ieee80211_sta_find_ibss(stru
+ static void ieee80211_rx_mgmt_probe_req(struct ieee80211_sub_if_data *sdata,
+ struct sk_buff *req)
+ {
+- struct ieee80211_rx_status *rx_status = IEEE80211_SKB_RXCB(req);
+ struct ieee80211_mgmt *mgmt = (void *)req->data;
+ struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
+ struct ieee80211_local *local = sdata->local;
+@@ -685,7 +684,7 @@ static void ieee80211_rx_mgmt_probe_req(
+ mgmt->bssid, tx_last_beacon);
+ #endif /* CONFIG_MAC80211_IBSS_DEBUG */
+
+- if (!tx_last_beacon && !(rx_status->rx_flags & IEEE80211_RX_RA_MATCH))
++ if (!tx_last_beacon && is_multicast_ether_addr(mgmt->da))
+ return;
+
+ if (memcmp(mgmt->bssid, ifibss->bssid, ETH_ALEN) != 0 &&