]> www.infradead.org Git - users/hch/misc.git/commitdiff
net: dsa: mv88e6xxx: Return -ENODEV when C45 not supported
authorAndrew Lunn <andrew@lunn.ch>
Sun, 4 Feb 2024 23:14:15 +0000 (17:14 -0600)
committerDavid S. Miller <davem@davemloft.net>
Wed, 7 Feb 2024 13:47:07 +0000 (13:47 +0000)
MDIO bus drivers can return -ENODEV when they know the bus does not
have a device at the given address, e.g. because of hardware
limitation. One such limitation is that the bus does not support C45
at all. This is more efficient than returning 0xffff, since it
immediately stops the probing on the given address, where as further
reads can be made when 0xffff is returned.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/chip.c

index 6eec2e4aa031e9ad2c97ec9df41f752eb6032343..9caecb4dfbfab9a579a775174f4c7b0687f44c51 100644 (file)
@@ -3659,7 +3659,7 @@ static int mv88e6xxx_mdio_read_c45(struct mii_bus *bus, int phy, int devad,
        int err;
 
        if (!chip->info->ops->phy_read_c45)
-               return 0xffff;
+               return -ENODEV;
 
        mv88e6xxx_reg_lock(chip);
        err = chip->info->ops->phy_read_c45(chip, bus, phy, devad, reg, &val);