Commit f3837334 authored by Thomas Bogendoerfer's avatar Thomas Bogendoerfer Committed by Jakub Kicinski
Browse files

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: adeef3e3 ("net: constify netdev->dev_addr")
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
Reviewed-by: default avatarMichal Kubiak <michal.kubiak@intel.com>
Link: https://lore.kernel.org/r/20230315134117.79511-1-tsbogend@alpha.franken.de


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 3d87debb
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -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) {