net: qlcnic: slight optimization of addr compare
Subsystems (3)
PATCH 13/20 net: qlcnic: slight optimization of addr compare
Use the possibly more efficient ether_addr_equal or ether_addr_equal_unaligned to instead of memcmp.
Cc Himanshu Madhani <[email protected]>
Cc Rajesh Borundia <[email protected]>
Signed-off-by Ding Tianhong <[email protected]>
--- drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c | 4 ++-- drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 4 ++-- drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c +2 -2
@@ -462,7 +462,7 @@ int qlcnic_nic_del_mac(struct qlcnic_adapter *adapter, const u8 *addr)/* Delete MAC from the existing list */ list_for_each (head, &adapter->mac_list) { cur = list_entry(head, struct qlcnic_mac_vlan_list, list); -if (memcmp (addr, cur->mac_addr,ETH_ALEN ) ==0 ) { +if (ether_addr_equal (addr, cur->mac_addr)) { err =qlcnic_sre_macaddr_change (adapter, cur->mac_addr,0 ,QLCNIC_MAC_DEL );if (err)
@@ -483,7 +483,7 @@ int qlcnic_nic_add_mac(struct qlcnic_adapter *adapter, const u8 *addr, u16 vlan)/* look up if already exists */ list_for_each (head, &adapter->mac_list) { cur = list_entry(head, struct qlcnic_mac_vlan_list, list); -if (memcmp (addr, cur->mac_addr,ETH_ALEN ) ==0 && +if (ether_addr_equal (addr, cur->mac_addr) && cur->vlan_id == vlan)return 0 ; }
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c +2 -2
@@ -202,7 +202,7 @@ static struct qlcnic_filter *qlcnic_find_mac_filter(struct hlist_head *head,struct hlist_node *n;hlist_for_each_entry_safe (tmp_fil, n, head, fnode) { -if (!memcmp (tmp_fil->faddr, addr,ETH_ALEN ) && +if (ether_addr_equal (tmp_fil->faddr, addr) && tmp_fil->vlan_id == vlan_id)return tmp_fil; }
@@ -346,7 +346,7 @@ static void qlcnic_send_filter(struct qlcnic_adapter *adapter, head = &(adapter->fhash.fhead[hindex]);hlist_for_each_entry_safe (tmp_fil, n, head, fnode) { -if (!memcmp (tmp_fil->faddr, &src_addr,ETH_ALEN ) && +if (ether_addr_equal (tmp_fil->faddr, &src_addr) && tmp_fil->vlan_id == vlan_id) {if (jiffies > (QLCNIC_READD_AGE *HZ + tmp_fil->ftime)) qlcnic_change_filter(adapter, &src_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +2 -2
@@ -313,7 +313,7 @@ static void qlcnic_delete_adapter_mac(struct qlcnic_adapter *adapter)list_for_each (head, &adapter->mac_list) { cur = list_entry(head, struct qlcnic_mac_vlan_list, list); -if (!memcmp (adapter->mac_addr, cur->mac_addr,ETH_ALEN )) { +if (ether_addr_equal_unaligned (adapter->mac_addr, cur->mac_addr)) {qlcnic_sre_macaddr_change (adapter, cur->mac_addr,0 ,QLCNIC_MAC_DEL );list_del (&cur->list);
@@ -337,7 +337,7 @@ static int qlcnic_set_mac(struct net_device *netdev, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EINVAL ; -if (!memcmp (adapter->mac_addr, addr->sa_data,ETH_ALEN )) +if (ether_addr_equal_unaligned (adapter->mac_addr, addr->sa_data))return 0 ;if (test_bit (__QLCNIC_DEV_UP, &adapter->state)) {
Signature · 1 line
1.8.0