net: phy: aquantia: fix applying active_low bit after reset
authorDaniel Golle <daniel@makrotopia.org>
Tue, 17 Sep 2024 13:49:55 +0000 (14:49 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 24 Sep 2024 08:55:07 +0000 (10:55 +0200)
for_each_set_bit was used wrongly in aqr107_config_init() when iterating
over LEDs. Drop misleading 'index' variable and call
aqr_phy_led_active_low_set() for each set bit representing an LED which
is driven by VDD instead of GND pin.

Fixes: 61578f679378 ("net: phy: aquantia: add support for PHY LEDs")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/9b1f0cd91f4cda54c8be56b4fe780480baf4aa0f.1726580902.git.daniel@makrotopia.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/phy/aquantia/aquantia_main.c

index 57b8b8f400fd4d0cbc24cbd75143e9a94c240d8c..4d156d406bab9aea0d1100b26376a8c904d35317 100644 (file)
@@ -489,7 +489,7 @@ static int aqr107_config_init(struct phy_device *phydev)
 {
        struct aqr107_priv *priv = phydev->priv;
        u32 led_active_low;
-       int ret, index = 0;
+       int ret;
 
        /* Check that the PHY interface type is compatible */
        if (phydev->interface != PHY_INTERFACE_MODE_SGMII &&
@@ -516,10 +516,9 @@ static int aqr107_config_init(struct phy_device *phydev)
 
        /* Restore LED polarity state after reset */
        for_each_set_bit(led_active_low, &priv->leds_active_low, AQR_MAX_LEDS) {
-               ret = aqr_phy_led_active_low_set(phydev, index, led_active_low);
+               ret = aqr_phy_led_active_low_set(phydev, led_active_low, true);
                if (ret)
                        return ret;
-               index++;
        }
 
        return 0;