net: usb: use eth_hw_addr_set()
authorJakub Kicinski <kuba@kernel.org>
Fri, 1 Oct 2021 21:32:21 +0000 (14:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 2 Oct 2021 13:18:25 +0000 (14:18 +0100)
Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
of VLANs...") introduced a rbtree for faster Ethernet address look
up. To maintain netdev->dev_addr in this tree we need to make all
the writes to it got through appropriate helpers.

Convert usb drivers from memcpy(... ETH_ADDR) to eth_hw_addr_set():

  @@
  expression dev, np;
  @@
  - memcpy(dev->dev_addr, np, ETH_ALEN)
  + eth_hw_addr_set(dev, np)

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/asix_common.c
drivers/net/usb/asix_devices.c
drivers/net/usb/ax88172a.c
drivers/net/usb/ax88179_178a.c
drivers/net/usb/dm9601.c
drivers/net/usb/ipheth.c
drivers/net/usb/kalmia.c
drivers/net/usb/sr9800.c

index 38cda59..42ba4af 100644 (file)
@@ -791,7 +791,7 @@ int asix_set_mac_address(struct net_device *net, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(net->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(net, addr->sa_data);
 
        /* We use the 20 byte dev->data
         * for our 6 byte mac buffer
index 30821f6..4514d35 100644 (file)
@@ -59,7 +59,7 @@ static void asix_status(struct usbnet *dev, struct urb *urb)
 static void asix_set_netdev_dev_addr(struct usbnet *dev, u8 *addr)
 {
        if (is_valid_ether_addr(addr)) {
-               memcpy(dev->net->dev_addr, addr, ETH_ALEN);
+               eth_hw_addr_set(dev->net, addr);
        } else {
                netdev_info(dev->net, "invalid hw address, using random\n");
                eth_hw_addr_random(dev->net);
index d9777d9..3777c7e 100644 (file)
@@ -176,7 +176,7 @@ static int ax88172a_bind(struct usbnet *dev, struct usb_interface *intf)
                ret = -EIO;
                goto free;
        }
-       memcpy(dev->net->dev_addr, buf, ETH_ALEN);
+       eth_hw_addr_set(dev->net, buf);
 
        dev->net->netdev_ops = &ax88172a_netdev_ops;
        dev->net->ethtool_ops = &ax88172a_ethtool_ops;
index f25448a..5ed59d9 100644 (file)
@@ -1015,7 +1015,7 @@ static int ax88179_set_mac_addr(struct net_device *net, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(net->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(net, addr->sa_data);
 
        /* Set the MAC address */
        ret = ax88179_write_cmd(dev, AX_ACCESS_MAC, AX_NODE_ID, ETH_ALEN,
@@ -1310,7 +1310,7 @@ static void ax88179_get_mac_addr(struct usbnet *dev)
        }
 
        if (is_valid_ether_addr(mac)) {
-               memcpy(dev->net->dev_addr, mac, ETH_ALEN);
+               eth_hw_addr_set(dev->net, mac);
        } else {
                netdev_info(dev->net, "invalid MAC address, using random\n");
                eth_hw_addr_random(dev->net);
index 907f98b..f4b0320 100644 (file)
@@ -391,7 +391,7 @@ static int dm9601_bind(struct usbnet *dev, struct usb_interface *intf)
         * Overwrite the auto-generated address only with good ones.
         */
        if (is_valid_ether_addr(mac))
-               memcpy(dev->net->dev_addr, mac, ETH_ALEN);
+               eth_hw_addr_set(dev->net, mac);
        else {
                printk(KERN_WARNING
                        "dm9601: No valid MAC address in EEPROM, using %pM\n",
index 06e2181..cd33955 100644 (file)
@@ -303,7 +303,7 @@ static int ipheth_get_macaddr(struct ipheth_device *dev)
                        __func__, retval);
                retval = -EINVAL;
        } else {
-               memcpy(net->dev_addr, dev->ctrl_buf, ETH_ALEN);
+               eth_hw_addr_set(net, dev->ctrl_buf);
                retval = 0;
        }
 
index fc5895f..9f2b70e 100644 (file)
@@ -149,7 +149,7 @@ kalmia_bind(struct usbnet *dev, struct usb_interface *intf)
        if (status)
                return status;
 
-       memcpy(dev->net->dev_addr, ethernet_addr, ETH_ALEN);
+       eth_hw_addr_set(dev->net, ethernet_addr);
 
        return status;
 }
index 576401c..838f4e9 100644 (file)
@@ -503,7 +503,7 @@ static int sr_set_mac_address(struct net_device *net, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(net->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(net, addr->sa_data);
 
        /* We use the 20 byte dev->data
         * for our 6 byte mac buffer