Commit 081e84f2 authored by Oleksij Rempel's avatar Oleksij Rempel Committed by Jakub Kicinski

net: dsa: microchip: ksz8_r_dyn_mac_table(): ksz: do not return EAGAIN on timeout

EAGAIN was not used by previous code and not used by  current code. So,
remove it and use proper error value.
Reviewed-by: default avatarVladimir Oltean <olteanv@gmail.com>
Acked-by: default avatarArun Ramadoss <arun.ramadoss@microchip.com>
Signed-off-by: default avatarOleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20240403125039.3414824-7-o.rempel@pengutronix.deSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 08736e08
...@@ -396,7 +396,7 @@ static int ksz8_valid_dyn_entry(struct ksz_device *dev, u8 *data) ...@@ -396,7 +396,7 @@ static int ksz8_valid_dyn_entry(struct ksz_device *dev, u8 *data)
/* Entry is not ready for accessing. */ /* Entry is not ready for accessing. */
if (*data & masks[DYNAMIC_MAC_TABLE_NOT_READY]) { if (*data & masks[DYNAMIC_MAC_TABLE_NOT_READY]) {
return -EAGAIN; return -ETIMEDOUT;
/* Entry is ready for accessing. */ /* Entry is ready for accessing. */
} else { } else {
ksz_read8(dev, regs[REG_IND_DATA_8], data); ksz_read8(dev, regs[REG_IND_DATA_8], data);
...@@ -431,15 +431,14 @@ static int ksz8_r_dyn_mac_table(struct ksz_device *dev, u16 addr, u8 *mac_addr, ...@@ -431,15 +431,14 @@ static int ksz8_r_dyn_mac_table(struct ksz_device *dev, u16 addr, u8 *mac_addr,
ksz_write16(dev, regs[REG_IND_CTRL_0], ctrl_addr); ksz_write16(dev, regs[REG_IND_CTRL_0], ctrl_addr);
ret = ksz8_valid_dyn_entry(dev, &data); ret = ksz8_valid_dyn_entry(dev, &data);
if (ret == -EAGAIN) { if (ret == -ENXIO) {
if (addr == 0)
*entries = 0;
goto unlock_alu;
} else if (ret == -ENXIO) {
*entries = 0; *entries = 0;
goto unlock_alu; goto unlock_alu;
} }
if (ret)
goto unlock_alu;
ksz_read64(dev, regs[REG_IND_DATA_HI], &buf); ksz_read64(dev, regs[REG_IND_DATA_HI], &buf);
data_hi = (u32)(buf >> 32); data_hi = (u32)(buf >> 32);
data_lo = (u32)buf; data_lo = (u32)buf;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment