OSDN Git Service

net: plip: use eth_hw_addr_set()
authorJakub Kicinski <kuba@kernel.org>
Thu, 21 Oct 2021 13:12:12 +0000 (06:12 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 22 Oct 2021 17:16:14 +0000 (10:16 -0700)
Get it ready for constant netdev->dev_addr.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/plip/plip.c

index 82d6094..0d491b4 100644 (file)
@@ -284,12 +284,16 @@ static const struct net_device_ops plip_netdev_ops = {
 static void
 plip_init_netdev(struct net_device *dev)
 {
+       static const u8 addr_init[ETH_ALEN] = {
+               0xfc, 0xfc, 0xfc,
+               0xfc, 0xfc, 0xfc,
+       };
        struct net_local *nl = netdev_priv(dev);
 
        /* Then, override parts of it */
        dev->tx_queue_len        = 10;
        dev->flags               = IFF_POINTOPOINT|IFF_NOARP;
-       memset(dev->dev_addr, 0xfc, ETH_ALEN);
+       eth_hw_addr_set(dev, addr_init);
 
        dev->netdev_ops          = &plip_netdev_ops;
        dev->header_ops          = &plip_header_ops;
@@ -1109,7 +1113,7 @@ plip_open(struct net_device *dev)
                   plip_init_dev(). */
                const struct in_ifaddr *ifa = rcu_dereference(in_dev->ifa_list);
                if (ifa != NULL) {
-                       memcpy(dev->dev_addr+2, &ifa->ifa_local, 4);
+                       dev_addr_mod(dev, 2, &ifa->ifa_local, 4);
                }
        }