summaryrefslogtreecommitdiff
path: root/drivers/net/hippi/rrunner.c
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2021-10-22 10:16:22 -0700
committerJakub Kicinski <kuba@kernel.org>2021-10-22 10:16:24 -0700
commit07591ebec3cf2d6b78cb9b51a5a6f3ca731ec375 (patch)
tree6fee94dcb692caf04b04f6cf8d5bf9b0757c1c93 /drivers/net/hippi/rrunner.c
parent016c89460d348c405313019bffeb73971e35ed09 (diff)
parent65a4fbbf22636af5dd110fc272fac6b0d84e42fc (diff)
Merge branch 'net-don-t-write-directly-to-netdev-dev_addr'
Don't write directly to netdev->dev_addr. More conversions, mostly in usb/net. v2: leave out catc (patch 4) Link: https://lore.kernel.org/r/20211021131214.2032925-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/hippi/rrunner.c')
-rw-r--r--drivers/net/hippi/rrunner.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/hippi/rrunner.c b/drivers/net/hippi/rrunner.c
index 7661dbb31162..16105292b140 100644
--- a/drivers/net/hippi/rrunner.c
+++ b/drivers/net/hippi/rrunner.c
@@ -502,6 +502,7 @@ static unsigned int write_eeprom(struct rr_private *rrpriv,
static int rr_init(struct net_device *dev)
{
+ u8 addr[HIPPI_ALEN] __aligned(4);
struct rr_private *rrpriv;
struct rr_regs __iomem *regs;
u32 sram_size, rev;
@@ -537,10 +538,11 @@ static int rr_init(struct net_device *dev)
* other method I've seen. -VAL
*/
- *(__be16 *)(dev->dev_addr) =
+ *(__be16 *)(addr) =
htons(rr_read_eeprom_word(rrpriv, offsetof(struct eeprom, manf.BoardULA)));
- *(__be32 *)(dev->dev_addr+2) =
+ *(__be32 *)(addr+2) =
htonl(rr_read_eeprom_word(rrpriv, offsetof(struct eeprom, manf.BoardULA[4])));
+ dev_addr_set(dev, addr);
printk(" MAC: %pM\n", dev->dev_addr);