From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ding Tianhong Subject: [PATCH net-next v2 2/6] mac80211: slight optimization of addr compare Date: Mon, 16 Dec 2013 16:24:32 +0800 Message-ID: <52AEB8C0.4030807@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit To: Johannes Berg , "John W. Linville" , "David S. Miller" , Netdev , Joe Perches Return-path: Received: from szxga02-in.huawei.com ([119.145.14.65]:23565 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750803Ab3LPIZX (ORCPT ); Mon, 16 Dec 2013 03:25:23 -0500 Sender: netdev-owner@vger.kernel.org List-ID: Joe Perches add ether_addr_equal_unaligned to test if possibly unaligned to u16 Ethernet addresses are equal. If CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is set, this uses the slightly faster generic routine ether_addr_equal, otherwise this uses memcmp. Signed-off-by: Ding Tianhong --- net/mac80211/iface.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 7aa9f9d..aeab878 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -1497,8 +1497,8 @@ static void ieee80211_assign_perm_addr(struct ieee80211_local *local, bool used = false; list_for_each_entry(sdata, &local->interfaces, list) { - if (memcmp(local->hw.wiphy->addresses[i].addr, - sdata->vif.addr, ETH_ALEN) == 0) { + if (ether_addr_equal_unaligned(sdata->vif.addr, + local->hw.wiphy->addresses[i].addr)) { used = true; break; } @@ -1558,8 +1558,8 @@ static void ieee80211_assign_perm_addr(struct ieee80211_local *local, val += inc; list_for_each_entry(sdata, &local->interfaces, list) { - if (memcmp(tmp_addr, sdata->vif.addr, - ETH_ALEN) == 0) { + if (ether_addr_equal_unaligned(tmp_addr, + sdata->vif.addr)) { used = true; break; } -- 1.8.0