mac80211: slight optimization of addr compare
Subsystems (3)
PATCH v2 2/6 mac80211: slight optimization of addr compare
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 <[email protected]>
--- net/mac80211/iface.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
net/mac80211/iface.c +4 -4
@@ -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 ; }
Signature · 1 line
1.8.0