mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 17:11:33 +00:00
i825xx: sni_82596: use eth_hw_addr_set()
netdev->dev_addr is now const, we can't write to it directly.
Copy scrambled mac address octects into an array then eth_hw_addr_set().
Fixes: adeef3e321
("net: constify netdev->dev_addr")
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Link: https://lore.kernel.org/r/20230315134117.79511-1-tsbogend@alpha.franken.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
3d87debb8e
commit
f38373345c
@ -78,6 +78,7 @@ static int sni_82596_probe(struct platform_device *dev)
|
||||
void __iomem *mpu_addr;
|
||||
void __iomem *ca_addr;
|
||||
u8 __iomem *eth_addr;
|
||||
u8 mac[ETH_ALEN];
|
||||
|
||||
res = platform_get_resource(dev, IORESOURCE_MEM, 0);
|
||||
ca = platform_get_resource(dev, IORESOURCE_MEM, 1);
|
||||
@ -109,12 +110,13 @@ static int sni_82596_probe(struct platform_device *dev)
|
||||
goto probe_failed;
|
||||
|
||||
/* someone seems to like messed up stuff */
|
||||
netdevice->dev_addr[0] = readb(eth_addr + 0x0b);
|
||||
netdevice->dev_addr[1] = readb(eth_addr + 0x0a);
|
||||
netdevice->dev_addr[2] = readb(eth_addr + 0x09);
|
||||
netdevice->dev_addr[3] = readb(eth_addr + 0x08);
|
||||
netdevice->dev_addr[4] = readb(eth_addr + 0x07);
|
||||
netdevice->dev_addr[5] = readb(eth_addr + 0x06);
|
||||
mac[0] = readb(eth_addr + 0x0b);
|
||||
mac[1] = readb(eth_addr + 0x0a);
|
||||
mac[2] = readb(eth_addr + 0x09);
|
||||
mac[3] = readb(eth_addr + 0x08);
|
||||
mac[4] = readb(eth_addr + 0x07);
|
||||
mac[5] = readb(eth_addr + 0x06);
|
||||
eth_hw_addr_set(netdevice, mac);
|
||||
iounmap(eth_addr);
|
||||
|
||||
if (netdevice->irq < 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user