diff options
Diffstat (limited to 'drivers/net/via-rhine.c')
-rw-r--r-- | drivers/net/via-rhine.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index fc7738ffbfff..e7b4bc3820e3 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c | |||
@@ -814,8 +814,9 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, | |||
814 | 814 | ||
815 | for (i = 0; i < 6; i++) | 815 | for (i = 0; i < 6; i++) |
816 | dev->dev_addr[i] = ioread8(ioaddr + StationAddr + i); | 816 | dev->dev_addr[i] = ioread8(ioaddr + StationAddr + i); |
817 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
817 | 818 | ||
818 | if (!is_valid_ether_addr(dev->dev_addr)) { | 819 | if (!is_valid_ether_addr(dev->perm_addr)) { |
819 | rc = -EIO; | 820 | rc = -EIO; |
820 | printk(KERN_ERR "Invalid MAC address\n"); | 821 | printk(KERN_ERR "Invalid MAC address\n"); |
821 | goto err_out_unmap; | 822 | goto err_out_unmap; |
@@ -1829,6 +1830,7 @@ static struct ethtool_ops netdev_ethtool_ops = { | |||
1829 | .set_wol = rhine_set_wol, | 1830 | .set_wol = rhine_set_wol, |
1830 | .get_sg = ethtool_op_get_sg, | 1831 | .get_sg = ethtool_op_get_sg, |
1831 | .get_tx_csum = ethtool_op_get_tx_csum, | 1832 | .get_tx_csum = ethtool_op_get_tx_csum, |
1833 | .get_perm_addr = ethtool_op_get_perm_addr, | ||
1832 | }; | 1834 | }; |
1833 | 1835 | ||
1834 | static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | 1836 | static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) |