OSDN Git Service

net: bcmgenet: fix MoCA LED control
authorDoug Berger <opendmb@gmail.com>
Thu, 16 Feb 2023 19:41:28 +0000 (11:41 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Feb 2023 10:01:01 +0000 (10:01 +0000)
When the bcmgenet_mii_config() code was refactored it was missed
that the LED control for the MoCA interface got overwritten by
the port_ctrl value. Its previous programming is restored here.

Fixes: 4f8d81b77e66 ("net: bcmgenet: Refactor register access in bcmgenet_mii_config")
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/genet/bcmmii.c

index b615176..be04290 100644 (file)
@@ -176,15 +176,6 @@ void bcmgenet_phy_power_set(struct net_device *dev, bool enable)
 
 static void bcmgenet_moca_phy_setup(struct bcmgenet_priv *priv)
 {
-       u32 reg;
-
-       if (!GENET_IS_V5(priv)) {
-               /* Speed settings are set in bcmgenet_mii_setup() */
-               reg = bcmgenet_sys_readl(priv, SYS_PORT_CTRL);
-               reg |= LED_ACT_SOURCE_MAC;
-               bcmgenet_sys_writel(priv, reg, SYS_PORT_CTRL);
-       }
-
        if (priv->hw_params->flags & GENET_HAS_MOCA_LINK_DET)
                fixed_phy_set_link_update(priv->dev->phydev,
                                          bcmgenet_fixed_phy_link_update);
@@ -217,6 +208,8 @@ int bcmgenet_mii_config(struct net_device *dev, bool init)
 
                if (!phy_name) {
                        phy_name = "MoCA";
+                       if (!GENET_IS_V5(priv))
+                               port_ctrl |= LED_ACT_SOURCE_MAC;
                        bcmgenet_moca_phy_setup(priv);
                }
                break;