A device inheriting a random or set address should reflect this in
its addr_assign_type.
Cc: Forest Bond <forest@alittletooquiet.net>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
 
        apdev_priv = netdev_priv(pDevice->apdev);
        *apdev_priv = *pDevice;
-       memcpy(pDevice->apdev->dev_addr, dev->dev_addr, ETH_ALEN);
+       eth_hw_addr_inherit(pDevice->apdev, dev);
 
        pDevice->apdev->netdev_ops = &apdev_netdev_ops;
 
 
                }
                if (sValue.dwValue == 1) {
                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "up wpadev\n");
-                       memcpy(pDevice->wpadev->dev_addr, pDevice->dev->dev_addr, ETH_ALEN);
+                       eth_hw_addr_inherit(pDevice->wpadev, pDevice->dev);
                        pDevice->bWPADEVUp = true;
                } else {
                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "close wpadev\n");
 
 
        wpadev_priv = netdev_priv(pDevice->wpadev);
        *wpadev_priv = *pDevice;
-       memcpy(pDevice->wpadev->dev_addr, dev->dev_addr, ETH_ALEN);
+       eth_hw_addr_inherit(pDevice->wpadev, dev);
        pDevice->wpadev->base_addr = dev->base_addr;
        pDevice->wpadev->irq = dev->irq;
        pDevice->wpadev->mem_start = dev->mem_start;