net: hostap: inherit addr_assign_type along with dev_addr
authorBjørn Mork <bjorn@mork.no>
Fri, 30 Aug 2013 16:08:50 +0000 (18:08 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Sep 2013 00:57:49 +0000 (20:57 -0400)
A device inheriting a random or set address should reflect this in
its addr_assign_type.

Cc: Jouni Malinen <j@w1.fi>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wireless/hostap/hostap_hw.c
drivers/net/wireless/hostap/hostap_main.c

index 6307a4e..c275dc1 100644 (file)
@@ -1425,7 +1425,7 @@ static int prism2_hw_init2(struct net_device *dev, int initial)
                }
                list_for_each(ptr, &local->hostap_interfaces) {
                        iface = list_entry(ptr, struct hostap_interface, list);
-                       memcpy(iface->dev->dev_addr, dev->dev_addr, ETH_ALEN);
+                       eth_hw_addr_inherit(iface->dev, dev);
                }
        } else if (local->fw_ap)
                prism2_check_sta_fw_version(local);
index e4f56ad..a1257c9 100644 (file)
@@ -66,7 +66,7 @@ struct net_device * hostap_add_interface(struct local_info *local,
        list_add(&iface->list, &local->hostap_interfaces);
 
        mdev = local->dev;
-       memcpy(dev->dev_addr, mdev->dev_addr, ETH_ALEN);
+       eth_hw_addr_inherit(dev, mdev);
        dev->base_addr = mdev->base_addr;
        dev->irq = mdev->irq;
        dev->mem_start = mdev->mem_start;