lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 426/601] net: phy: lan87xx: fix access to wrong register of LAN87xx
    Date
    From: Andre Edich <andre.edich@microchip.com>

    [ Upstream commit fdb5cc6ab3b6a1c0122d3644a63ef9dc7a610d35 ]

    The function lan87xx_config_aneg_ext was introduced to configure
    LAN95xxA but as well writes to undocumented register of LAN87xx.
    This fix prevents that access.

    The function lan87xx_config_aneg_ext gets more suitable for the new
    behavior name.

    Reported-by: Måns Rullgård <mans@mansr.com>
    Fixes: 05b35e7eb9a1 ("smsc95xx: add phylib support")
    Signed-off-by: Andre Edich <andre.edich@microchip.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/phy/smsc.c | 7 +++++--
    1 file changed, 5 insertions(+), 2 deletions(-)

    diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c
    index ddb78fb4d6dc..d8cac02a79b9 100644
    --- a/drivers/net/phy/smsc.c
    +++ b/drivers/net/phy/smsc.c
    @@ -185,10 +185,13 @@ static int lan87xx_config_aneg(struct phy_device *phydev)
    return genphy_config_aneg(phydev);
    }

    -static int lan87xx_config_aneg_ext(struct phy_device *phydev)
    +static int lan95xx_config_aneg_ext(struct phy_device *phydev)
    {
    int rc;

    + if (phydev->phy_id != 0x0007c0f0) /* not (LAN9500A or LAN9505A) */
    + return lan87xx_config_aneg(phydev);
    +
    /* Extend Manual AutoMDIX timer */
    rc = phy_read(phydev, PHY_EDPD_CONFIG);
    if (rc < 0)
    @@ -441,7 +444,7 @@ static struct phy_driver smsc_phy_driver[] = {
    .read_status = lan87xx_read_status,
    .config_init = smsc_phy_config_init,
    .soft_reset = smsc_phy_reset,
    - .config_aneg = lan87xx_config_aneg_ext,
    + .config_aneg = lan95xx_config_aneg_ext,

    /* IRQ related */
    .config_intr = smsc_phy_config_intr,
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-05-12 20:01    [W:5.113 / U:0.272 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site