Search Linux Wireless

[PATCH] wireless: Compare ethernet addresses by unaligned safe way

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When we try to run RTL8187 driver on AD BlackFin platform, we got
messages from kernel about unaligned memory access at
compare_ether_addr() calls.

Replacing of compare_ether_addr() by memcmp() fixes this problem.

Signed-off-by: Yauhen Kharuzhy <yauhen.kharuzhy@xxxxxxxxxxx>
---
 net/mac80211/ibss.c |    2 +-
 net/wireless/scan.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index 0b30277..bcbb1ae 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -395,7 +395,7 @@ struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata,
 		return NULL;
 	}
 
-	if (compare_ether_addr(bssid, sdata->u.ibss.bssid))
+	if (memcmp(bssid, sdata->u.ibss.bssid, ETH_ALEN))
 		return NULL;
 
 #ifdef CONFIG_MAC80211_VERBOSE_DEBUG
diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index e95b638..6ad9b59 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -134,7 +134,7 @@ static bool is_bss(struct cfg80211_bss *a,
 {
 	const u8 *ssidie;
 
-	if (bssid && compare_ether_addr(a->bssid, bssid))
+	if (bssid && memcmp(a->bssid, bssid, ETH_ALEN))
 		return false;
 
 	if (!ssid)
-- 
1.6.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux