From 1708aaa9b8c8709382e2b97a24b872434b217128 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Mon, 30 Apr 2012 07:57:09 +0000
Subject: [PATCH] mac80211: fix station lookup issues

SVN-Revision: 31539
---
 package/mac80211/patches/300-pending_work.patch | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

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