summaryrefslogtreecommitdiffstats
path: root/package/madwifi/patches-r3776/322-ignore_broken_bssid.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/madwifi/patches-r3776/322-ignore_broken_bssid.patch')
-rw-r--r--package/madwifi/patches-r3776/322-ignore_broken_bssid.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/package/madwifi/patches-r3776/322-ignore_broken_bssid.patch b/package/madwifi/patches-r3776/322-ignore_broken_bssid.patch
new file mode 100644
index 000000000..f185dbfd2
--- /dev/null
+++ b/package/madwifi/patches-r3776/322-ignore_broken_bssid.patch
@@ -0,0 +1,20 @@
+Some misconfigured APs broadcast NULL BSSIDs, which can confuse the STA
+Ignore those when scanning.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+
+Index: madwifi-trunk-r3776/net80211/ieee80211_scan_sta.c
+===================================================================
+--- madwifi-trunk-r3776.orig/net80211/ieee80211_scan_sta.c 2008-07-17 04:02:41.000000000 +0200
++++ madwifi-trunk-r3776/net80211/ieee80211_scan_sta.c 2008-07-17 04:03:54.000000000 +0200
+@@ -242,6 +242,10 @@
+ struct ieee80211_scan_entry *ise;
+ int hash;
+
++ /* workaround for broken APs that broadcast NULL BSSIDs */
++ if (memcmp(wh->i_addr3, "\x00\x00\x00\x00\x00\x00", 6) == 0)
++ return 0;
++
+ hash = STA_HASH(macaddr);
+ SCAN_STA_LOCK_IRQ(st);
+ LIST_FOREACH(se, &st->st_hash[hash], se_hash)