struct ixgb_adapter *adapter;
        static int cards_found = 0;
        int pci_using_dac;
+       u8 addr[ETH_ALEN];
        int i;
        int err;
 
                goto err_eeprom;
        }
 
-       ixgb_get_ee_mac_addr(&adapter->hw, netdev->dev_addr);
+       ixgb_get_ee_mac_addr(&adapter->hw, addr);
+       eth_hw_addr_set(netdev, addr);
 
        if (!is_valid_ether_addr(netdev->dev_addr)) {
                netif_err(adapter, probe, adapter->netdev, "Invalid MAC Address\n");
 {
        struct net_device *netdev = pci_get_drvdata(pdev);
        struct ixgb_adapter *adapter = netdev_priv(netdev);
+       u8 addr[ETH_ALEN];
 
        if (pci_enable_device(pdev)) {
                netif_err(adapter, probe, adapter->netdev,
                          "After reset, the EEPROM checksum is not valid\n");
                return PCI_ERS_RESULT_DISCONNECT;
        }
-       ixgb_get_ee_mac_addr(&adapter->hw, netdev->dev_addr);
+       ixgb_get_ee_mac_addr(&adapter->hw, addr);
+       eth_hw_addr_set(netdev, addr);
        memcpy(netdev->perm_addr, netdev->dev_addr, netdev->addr_len);
 
        if (!is_valid_ether_addr(netdev->perm_addr)) {