|
|
|
@ -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,
|
|
|
|
|