aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-04-30 07:57:09 +0000
committerFelix Fietkau <nbd@openwrt.org>2012-04-30 07:57:09 +0000
commitcf2a7761a964cfeda67afb4182a17815a8ee2919 (patch)
treec6bf81f75f7436f03e6a0d4e9b32c576ed28d506
parentfba1fa5929739c09d24ab701d74a8cf46d32154a (diff)
downloadupstream-cf2a7761a964cfeda67afb4182a17815a8ee2919.tar.gz
upstream-cf2a7761a964cfeda67afb4182a17815a8ee2919.tar.bz2
upstream-cf2a7761a964cfeda67afb4182a17815a8ee2919.zip
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 668005b7f3..c702cfeb1c 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,