[PATCH 2/4] staging/wlan-ng: compare using ether_addr_equal_unaligned

Denis Pithon denis.pithon at gmail.com
Fri May 16 22:14:50 UTC 2014


Replaced generic memcmp() with dedicated ether_addr_equal_unaligned()
call. I did not find any clue of u16 alignment for both addresses.

Signed-off-by: Denis Pithon <denis.pithon at gmail.com>
---
 drivers/staging/wlan-ng/p80211netdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/wlan-ng/p80211netdev.c b/drivers/staging/wlan-ng/p80211netdev.c
index 64dd935..13fe068 100644
--- a/drivers/staging/wlan-ng/p80211netdev.c
+++ b/drivers/staging/wlan-ng/p80211netdev.c
@@ -263,7 +263,8 @@ static int p80211_convert_to_ether(wlandevice_t *wlandev, struct sk_buff *skb)
 	/* perform mcast filtering */
 	if (wlandev->netdev->flags & IFF_ALLMULTI) {
 		/* allow my local address through */
-		if (memcmp(hdr->a1, wlandev->netdev->dev_addr, ETH_ALEN) != 0) {
+		if (!ether_addr_equal_unaligned(wlandev->netdev->dev_addr,
+						hdr->a1)) {
 			/* but reject anything else that isn't multicast */
 			if (!(hdr->a1[0] & 0x01))
 				return CONV_TO_ETHER_SKIPPED;
-- 
1.9.0



More information about the devel mailing list