Patch "net: lan966x: Fix configuration of the PCS" has been added to the 6.1-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.1-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.1 subdirectory.

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



commit be5beda2fdb3de7b572d943efc153b203a14f892
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 1a61c6cdb077..0050fcb988b7 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_port.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_port.c
@@ -381,7 +381,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