Commit 6f9defaf authored by Daniel Golle's avatar Daniel Golle Committed by Paolo Abeni
Browse files

net: phy: aquantia: fix applying active_low bit after reset



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: 61578f67 ("net: phy: aquantia: add support for PHY LEDs")
Signed-off-by: default avatarDaniel Golle <daniel@makrotopia.org>
Reviewed-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/9b1f0cd91f4cda54c8be56b4fe780480baf4aa0f.1726580902.git.daniel@makrotopia.org


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent d2b366c4
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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;