]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: dsa: vsc73xx: pass value in phy_write operation
authorPawel Dembicki <paweldembicki@gmail.com>
Fri, 9 Aug 2024 19:38:03 +0000 (21:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 Aug 2024 15:35:47 +0000 (17:35 +0200)
[ Upstream commit 5b9eebc2c7a5f0cc7950d918c1e8a4ad4bed5010 ]

In the 'vsc73xx_phy_write' function, the register value is missing,
and the phy write operation always sends zeros.

This commit passes the value variable into the proper register.

Fixes: 05bd97fc559d ("net: dsa: Add Vitesse VSC73xx DSA router driver")
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/dsa/vitesse-vsc73xx-core.c

index fc4030976bdce14fa770683356d70cb8da60dd28..2725541b3c36f3d59b5fa9d8a058f002c152db86 100644 (file)
@@ -534,7 +534,7 @@ static int vsc73xx_phy_write(struct dsa_switch *ds, int phy, int regnum,
                return 0;
        }
 
-       cmd = (phy << 21) | (regnum << 16);
+       cmd = (phy << 21) | (regnum << 16) | val;
        ret = vsc73xx_write(vsc, VSC73XX_BLOCK_MII, 0, 1, cmd);
        if (ret)
                return ret;