lkml.org 
[lkml]   [2020]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 043/109] net: mvneta: fix use of state->speed
    Date
    From: Russell King <rmk+kernel@armlinux.org.uk>

    [ Upstream commit f2ca673d2cd5df9a76247b670e9ffd4d63682b3f ]

    When support for short preambles was added, it incorrectly keyed its
    decision off state->speed instead of state->interface. state->speed
    is not guaranteed to be correct for in-band modes, which can lead to
    short preambles being unexpectedly disabled.

    Fix this by keying off the interface mode, which is the only way that
    mvneta can operate at 2.5Gbps.

    Fixes: da58a931f248 ("net: mvneta: Add support for 2500Mbps SGMII")
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/marvell/mvneta.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
    index 9799253948281..ffdb7b113f172 100644
    --- a/drivers/net/ethernet/marvell/mvneta.c
    +++ b/drivers/net/ethernet/marvell/mvneta.c
    @@ -3594,7 +3594,7 @@ static void mvneta_mac_config(struct phylink_config *config, unsigned int mode,
    /* When at 2.5G, the link partner can send frames with shortened
    * preambles.
    */
    - if (state->speed == SPEED_2500)
    + if (state->interface == PHY_INTERFACE_MODE_2500BASEX)
    new_ctrl4 |= MVNETA_GMAC4_SHORT_PREAMBLE_ENABLE;

    if (pp->phy_interface != state->interface) {
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-07-14 20:51    [W:4.092 / U:0.852 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site