Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ced5440 authored by dingtianhong's avatar dingtianhong Committed by David S. Miller
Browse files

net: ksz884x: slight optimization of addr compare



Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: default avatarDing Tianhong <dingtianhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c0623e58
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -4128,10 +4128,10 @@ static int hw_add_addr(struct ksz_hw *hw, u8 *mac_addr)
	int i;
	int j = ADDITIONAL_ENTRIES;

	if (!memcmp(hw->override_addr, mac_addr, ETH_ALEN))
	if (ether_addr_equal(hw->override_addr, mac_addr))
		return 0;
	for (i = 0; i < hw->addr_list_size; i++) {
		if (!memcmp(hw->address[i], mac_addr, ETH_ALEN))
		if (ether_addr_equal(hw->address[i], mac_addr))
			return 0;
		if (ADDITIONAL_ENTRIES == j && empty_addr(hw->address[i]))
			j = i;
@@ -4149,7 +4149,7 @@ static int hw_del_addr(struct ksz_hw *hw, u8 *mac_addr)
	int i;

	for (i = 0; i < hw->addr_list_size; i++) {
		if (!memcmp(hw->address[i], mac_addr, ETH_ALEN)) {
		if (ether_addr_equal(hw->address[i], mac_addr)) {
			memset(hw->address[i], 0, ETH_ALEN);
			writel(0, hw->io + ADD_ADDR_INCR * i +
				KS_ADD_ADDR_0_HI);
@@ -7104,8 +7104,7 @@ static int pcidev_init(struct pci_dev *pdev, const struct pci_device_id *id)
			       ETH_ALEN);
		else {
			memcpy(dev->dev_addr, sw->other_addr, ETH_ALEN);
			if (!memcmp(sw->other_addr, hw->override_addr,
				    ETH_ALEN))
			if (ether_addr_equal(sw->other_addr, hw->override_addr))
				dev->dev_addr[5] += port->first_port;
		}