net: dsa: microchip: ksz8_r_dyn_mac_table(): ksz: do not return EAGAIN on timeout
authorOleksij Rempel <o.rempel@pengutronix.de>
Wed, 3 Apr 2024 12:50:37 +0000 (14:50 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 5 Apr 2024 02:08:43 +0000 (19:08 -0700)
EAGAIN was not used by previous code and not used by  current code. So,
remove it and use proper error value.

Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Acked-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20240403125039.3414824-7-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/microchip/ksz8795.c

index 5765d23bc6edc55368c88903c04096ae4bf4ac87..eeb32df0939d18d02177dc725014840af74ab345 100644 (file)
@@ -396,7 +396,7 @@ static int ksz8_valid_dyn_entry(struct ksz_device *dev, u8 *data)
 
        /* Entry is not ready for accessing. */
        if (*data & masks[DYNAMIC_MAC_TABLE_NOT_READY]) {
-               return -EAGAIN;
+               return -ETIMEDOUT;
        /* Entry is ready for accessing. */
        } else {
                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,
        ksz_write16(dev, regs[REG_IND_CTRL_0], ctrl_addr);
 
        ret = ksz8_valid_dyn_entry(dev, &data);
-       if (ret == -EAGAIN) {
-               if (addr == 0)
-                       *entries = 0;
-               goto unlock_alu;
-       } else if (ret == -ENXIO) {
+       if (ret == -ENXIO) {
                *entries = 0;
                goto unlock_alu;
        }
 
+       if (ret)
+               goto unlock_alu;
+
        ksz_read64(dev, regs[REG_IND_DATA_HI], &buf);
        data_hi = (u32)(buf >> 32);
        data_lo = (u32)buf;