diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/pcnet32.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c index 113b68099216..6c3731b608da 100644 --- a/drivers/net/pcnet32.c +++ b/drivers/net/pcnet32.c | |||
@@ -957,6 +957,7 @@ static struct ethtool_ops pcnet32_ethtool_ops = { | |||
957 | .phys_id = pcnet32_phys_id, | 957 | .phys_id = pcnet32_phys_id, |
958 | .get_regs_len = pcnet32_get_regs_len, | 958 | .get_regs_len = pcnet32_get_regs_len, |
959 | .get_regs = pcnet32_get_regs, | 959 | .get_regs = pcnet32_get_regs, |
960 | .get_perm_addr = ethtool_op_get_perm_addr, | ||
960 | }; | 961 | }; |
961 | 962 | ||
962 | /* only probes for non-PCI devices, the rest are handled by | 963 | /* only probes for non-PCI devices, the rest are handled by |
@@ -1185,9 +1186,10 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev) | |||
1185 | memcpy(dev->dev_addr, promaddr, 6); | 1186 | memcpy(dev->dev_addr, promaddr, 6); |
1186 | } | 1187 | } |
1187 | } | 1188 | } |
1189 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
1188 | 1190 | ||
1189 | /* if the ethernet address is not valid, force to 00:00:00:00:00:00 */ | 1191 | /* if the ethernet address is not valid, force to 00:00:00:00:00:00 */ |
1190 | if (!is_valid_ether_addr(dev->dev_addr)) | 1192 | if (!is_valid_ether_addr(dev->perm_addr)) |
1191 | memset(dev->dev_addr, 0, sizeof(dev->dev_addr)); | 1193 | memset(dev->dev_addr, 0, sizeof(dev->dev_addr)); |
1192 | 1194 | ||
1193 | if (pcnet32_debug & NETIF_MSG_PROBE) { | 1195 | if (pcnet32_debug & NETIF_MSG_PROBE) { |