summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-04-30 07:57:09 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-04-30 07:57:09 +0000
commit08759f0f3b1ad5af5ee4c4fe4799d465ddefd0f9 (patch)
treec6bf81f75f7436f03e6a0d4e9b32c576ed28d506
parentfcaac512c063e648643625b3ae98f981d7fe76ce (diff)
mac80211: fix station lookup issues
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31539 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/mac80211/patches/300-pending_work.patch15
1 files changed, 15 insertions, 0 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index 668005b7f..c702cfeb1 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -928,3 +928,18 @@
tx->sta = sta_info_get_bss(sdata, hdr->addr1);
}
if (!tx->sta)
+--- a/net/wireless/scan.c
++++ b/net/wireless/scan.c
+@@ -378,7 +378,11 @@ static int cmp_bss_core(struct cfg80211_
+ b->len_information_elements);
+ }
+
+- return compare_ether_addr(a->bssid, b->bssid);
++ /*
++ * we can't use compare_ether_addr here since we need a < > operator.
++ * The binary return value of compare_ether_addr isn't enough
++ */
++ return memcmp(a->bssid, b->bssid, sizeof(a->bssid));
+ }
+
+ static int cmp_bss(struct cfg80211_bss *a,