Skip to content

Commit

Permalink
net: phy: aquantia: fix applying active_low bit after reset
Browse files Browse the repository at this point in the history
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: 61578f6 ("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>
  • Loading branch information
Daniel Golle authored and Paolo Abeni committed Sep 24, 2024
1 parent d2b366c commit 6f9defa
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions drivers/net/phy/aquantia/aquantia_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 &&
Expand All @@ -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;
Expand Down

0 comments on commit 6f9defa

Please sign in to comment.