mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
net: usb: lan78xx: fix use of improperly initialized dev->chipid in lan78xx_reset
[ Upstream commit8d93ff40d4] dev->chipid is used in lan78xx_init_mac_address before it's initialized: lan78xx_reset() { lan78xx_init_mac_address() lan78xx_read_eeprom() lan78xx_read_raw_eeprom() <- dev->chipid is used here dev->chipid = ... <- dev->chipid is initialized correctly here } Reorder initialization so that dev->chipid is set before calling lan78xx_init_mac_address(). Fixes:a0db7d10b7("lan78xx: Add to handle mux control per chip id") Signed-off-by: I Viswanath <viswanathiyyappan@gmail.com> Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Reviewed-by: Khalid Aziz <khalid@kernel.org> Link: https://patch.msgid.link/20251013181648.35153-1-viswanathiyyappan@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f712b97245
commit
c091738863
@@ -3244,10 +3244,6 @@ static int lan78xx_reset(struct lan78xx_net *dev)
|
||||
}
|
||||
} while (buf & HW_CFG_LRST_);
|
||||
|
||||
ret = lan78xx_init_mac_address(dev);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
/* save DEVID for later usage */
|
||||
ret = lan78xx_read_reg(dev, ID_REV, &buf);
|
||||
if (ret < 0)
|
||||
@@ -3256,6 +3252,10 @@ static int lan78xx_reset(struct lan78xx_net *dev)
|
||||
dev->chipid = (buf & ID_REV_CHIP_ID_MASK_) >> 16;
|
||||
dev->chiprev = buf & ID_REV_CHIP_REV_MASK_;
|
||||
|
||||
ret = lan78xx_init_mac_address(dev);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
/* Respond to the IN token with a NAK */
|
||||
ret = lan78xx_read_reg(dev, USB_CFG0, &buf);
|
||||
if (ret < 0)
|
||||
|
||||
Reference in New Issue
Block a user