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

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.de


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 08736e08
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -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;