Patch "net: lan966x: Fix configuration of the PCS" has been added to the 6.0-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net: lan966x: Fix configuration of the PCS

to the 6.0-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-lan966x-fix-configuration-of-the-pcs.patch
and it can be found in the queue-6.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 947cf1fafe5e7f397d8544e2137610e6ae9833c1
Author: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
Date:   Wed Dec 21 10:33:15 2022 +0100

    net: lan966x: Fix configuration of the PCS
    
    [ Upstream commit d717f9474e3fb7e6bd3e43ca16e131f04320ed6f ]
    
    When the PCS was taken out of reset, we were changing by mistake also
    the speed to 100 Mbit. But in case the link was going down, the link
    up routine was setting correctly the link speed. If the link was not
    getting down then the speed was forced to run at 100 even if the
    speed was something else.
    On lan966x, to set the speed link to 1G or 2.5G a value of 1 needs to be
    written in DEV_CLOCK_CFG_LINK_SPEED. This is similar to the procedure in
    lan966x_port_init.
    
    The issue was reproduced using 1000base-x sfp module using the commands:
    ip link set dev eth2 up
    ip link addr add 10.97.10.2/24 dev eth2
    ethtool -s eth2 speed 1000 autoneg off
    
    Fixes: d28d6d2e37d1 ("net: lan966x: add port module support")
    Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
    Reviewed-by: Piotr Raczynski <piotr.raczynski@xxxxxxxxx>
    Link: https://lore.kernel.org/r/20221221093315.939133-1-horatiu.vultur@xxxxxxxxxxxxx
    Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_port.c b/drivers/net/ethernet/microchip/lan966x/lan966x_port.c
index f141644e4372..26c5cdf373c4 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_port.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_port.c
@@ -369,7 +369,7 @@ int lan966x_port_pcs_set(struct lan966x_port *port,
 	}
 
 	/* Take PCS out of reset */
-	lan_rmw(DEV_CLOCK_CFG_LINK_SPEED_SET(2) |
+	lan_rmw(DEV_CLOCK_CFG_LINK_SPEED_SET(LAN966X_SPEED_1000) |
 		DEV_CLOCK_CFG_PCS_RX_RST_SET(0) |
 		DEV_CLOCK_CFG_PCS_TX_RST_SET(0),
 		DEV_CLOCK_CFG_LINK_SPEED |



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux