diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2018-05-22 16:22:26 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-05-23 15:18:00 -0400 |
commit | 733a969a7ed14fc5786bcc59c1bdda83c7ddb46e (patch) | |
tree | da35b9fece1168c29fc03c27f212800f97d0f4b4 /drivers/net/phy/bcm-phy-lib.c | |
parent | 2eabd764cb5512f1338d06ffc054c8bc9fbe9104 (diff) | |
download | talos-op-linux-733a969a7ed14fc5786bcc59c1bdda83c7ddb46e.tar.gz talos-op-linux-733a969a7ed14fc5786bcc59c1bdda83c7ddb46e.zip |
net: phy: broadcom: Fix auxiliary control register reads
We are currently doing auxiliary control register reads with the shadow
register value 0b111 (0x7) which incidentally is also the selector value
that should be present in bits [2:0]. Fix this by using the appropriate
selector mask which is defined (MII_BCM54XX_AUXCTL_SHDWSEL_MASK).
This does not have a functional impact yet because we always access the
MII_BCM54XX_AUXCTL_SHDWSEL_MISC (0x7) register in the current code.
This might change at some point though.
Fixes: 5b4e29005123 ("net: phy: broadcom: add bcm54xx_auxctl_read")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/bcm-phy-lib.c')
-rw-r--r-- | drivers/net/phy/bcm-phy-lib.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/phy/bcm-phy-lib.c b/drivers/net/phy/bcm-phy-lib.c index 5ad130c3da43..d5e0833d69b9 100644 --- a/drivers/net/phy/bcm-phy-lib.c +++ b/drivers/net/phy/bcm-phy-lib.c @@ -56,7 +56,7 @@ int bcm54xx_auxctl_read(struct phy_device *phydev, u16 regnum) /* The register must be written to both the Shadow Register Select and * the Shadow Read Register Selector */ - phy_write(phydev, MII_BCM54XX_AUX_CTL, regnum | + phy_write(phydev, MII_BCM54XX_AUX_CTL, MII_BCM54XX_AUXCTL_SHDWSEL_MASK | regnum << MII_BCM54XX_AUXCTL_SHDWSEL_READ_SHIFT); return phy_read(phydev, MII_BCM54XX_AUX_CTL); } |