net: phy: aquantia: fix setting active_low bit
authorDaniel Golle <daniel@makrotopia.org>
Tue, 17 Sep 2024 13:49:40 +0000 (14:49 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 24 Sep 2024 08:55:07 +0000 (10:55 +0200)
phy_modify_mmd was used wrongly in aqr_phy_led_active_low_set() resulting
in a no-op instead of setting the VEND1_GLOBAL_LED_DRIVE_VDD bit.
Correctly set VEND1_GLOBAL_LED_DRIVE_VDD bit.

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/ab963584b0a7e3b4dac39472a4b82ca264d79630.1726580902.git.daniel@makrotopia.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/phy/aquantia/aquantia_leds.c

index 0516ac02c3f81e7be3b8cb621d238d3794f11463..201c8df93fad9426764764f851f1bd82ebb43f92 100644 (file)
@@ -120,7 +120,8 @@ int aqr_phy_led_hw_control_set(struct phy_device *phydev, u8 index,
 int aqr_phy_led_active_low_set(struct phy_device *phydev, int index, bool enable)
 {
        return phy_modify_mmd(phydev, MDIO_MMD_VEND1, AQR_LED_DRIVE(index),
-                             VEND1_GLOBAL_LED_DRIVE_VDD, enable);
+                             VEND1_GLOBAL_LED_DRIVE_VDD,
+                             enable ? VEND1_GLOBAL_LED_DRIVE_VDD : 0);
 }
 
 int aqr_phy_led_polarity_set(struct phy_device *phydev, int index, unsigned long modes)