aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
diff options
context:
space:
mode:
authordingtianhong <dingtianhong@huawei.com>2013-12-30 02:40:32 -0500
committerDavid S. Miller <davem@davemloft.net>2013-12-31 16:48:30 -0500
commit8fd90de800a838320406c29587d40fb8167ec48e (patch)
tree053b57bba06fdf5ed3394dc1009e3967e0450125 /drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
parentc466a9b2b329f7d9982c14eedc83a923d3bc711c (diff)
net: bnx2x: slight optimization of addr compare
Use the possibly more efficient ether_addr_equal or ether_addr_equal_unaligned to instead of memcmp. Cc: Ariel Elior <ariele@broadcom.com> Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
index 32c92abf5094..babf7b954ae6 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
@@ -663,7 +663,7 @@ static int bnx2x_check_mac_add(struct bnx2x *bp,
663 663
664 /* Check if a requested MAC already exists */ 664 /* Check if a requested MAC already exists */
665 list_for_each_entry(pos, &o->head, link) 665 list_for_each_entry(pos, &o->head, link)
666 if (!memcmp(data->mac.mac, pos->u.mac.mac, ETH_ALEN) && 666 if (ether_addr_equal(data->mac.mac, pos->u.mac.mac) &&
667 (data->mac.is_inner_mac == pos->u.mac.is_inner_mac)) 667 (data->mac.is_inner_mac == pos->u.mac.is_inner_mac))
668 return -EEXIST; 668 return -EEXIST;
669 669
@@ -696,8 +696,7 @@ static int bnx2x_check_vlan_mac_add(struct bnx2x *bp,
696 696
697 list_for_each_entry(pos, &o->head, link) 697 list_for_each_entry(pos, &o->head, link)
698 if ((data->vlan_mac.vlan == pos->u.vlan_mac.vlan) && 698 if ((data->vlan_mac.vlan == pos->u.vlan_mac.vlan) &&
699 (!memcmp(data->vlan_mac.mac, pos->u.vlan_mac.mac, 699 ether_addr_equal_unaligned(data->vlan_mac.mac, pos->u.vlan_mac.mac) &&
700 ETH_ALEN)) &&
701 (data->vlan_mac.is_inner_mac == 700 (data->vlan_mac.is_inner_mac ==
702 pos->u.vlan_mac.is_inner_mac)) 701 pos->u.vlan_mac.is_inner_mac))
703 return -EEXIST; 702 return -EEXIST;
@@ -716,7 +715,7 @@ static struct bnx2x_vlan_mac_registry_elem *
716 DP(BNX2X_MSG_SP, "Checking MAC %pM for DEL command\n", data->mac.mac); 715 DP(BNX2X_MSG_SP, "Checking MAC %pM for DEL command\n", data->mac.mac);
717 716
718 list_for_each_entry(pos, &o->head, link) 717 list_for_each_entry(pos, &o->head, link)
719 if ((!memcmp(data->mac.mac, pos->u.mac.mac, ETH_ALEN)) && 718 if (ether_addr_equal(data->mac.mac, pos->u.mac.mac) &&
720 (data->mac.is_inner_mac == pos->u.mac.is_inner_mac)) 719 (data->mac.is_inner_mac == pos->u.mac.is_inner_mac))
721 return pos; 720 return pos;
722 721
@@ -751,8 +750,7 @@ static struct bnx2x_vlan_mac_registry_elem *
751 750
752 list_for_each_entry(pos, &o->head, link) 751 list_for_each_entry(pos, &o->head, link)
753 if ((data->vlan_mac.vlan == pos->u.vlan_mac.vlan) && 752 if ((data->vlan_mac.vlan == pos->u.vlan_mac.vlan) &&
754 (!memcmp(data->vlan_mac.mac, pos->u.vlan_mac.mac, 753 ether_addr_equal_unaligned(data->vlan_mac.mac, pos->u.vlan_mac.mac) &&
755 ETH_ALEN)) &&
756 (data->vlan_mac.is_inner_mac == 754 (data->vlan_mac.is_inner_mac ==
757 pos->u.vlan_mac.is_inner_mac)) 755 pos->u.vlan_mac.is_inner_mac))
758 return pos; 756 return pos;