Patch "net: pcs: lynx: fix lynx_pcs_link_up_sgmii() not doing anything in fixed-link mode" has been added to the 6.5-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: pcs: lynx: fix lynx_pcs_link_up_sgmii() not doing anything in fixed-link mode

to the 6.5-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-pcs-lynx-fix-lynx_pcs_link_up_sgmii-not-doing-an.patch
and it can be found in the queue-6.5 subdirectory.

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



commit 289d398a8483d66cb05b28a7397f932ea6f4f59e
Author: Vladimir Oltean <vladimir.oltean@xxxxxxx>
Date:   Fri Aug 11 14:53:52 2023 +0300

    net: pcs: lynx: fix lynx_pcs_link_up_sgmii() not doing anything in fixed-link mode
    
    [ Upstream commit 2f4503f94c5d81d1589842bfb457be466c8c670b ]
    
    lynx_pcs_link_up_sgmii() is supposed to update the PCS speed and duplex
    for the non-inband operating modes, and prior to the blamed commit, it
    did just that, but a mistake sneaked into the conversion and reversed
    the condition.
    
    It is easy for this to go undetected on platforms that also initialize
    the PCS in the bootloader, because Linux doesn't reset it (although
    maybe it should). The nature of the bug is that phylink will not touch
    the IF_MODE_HALF_DUPLEX | IF_MODE_SPEED_MSK fields when it should, and
    it will apparently keep working if the previous values set by the
    bootloader were correct.
    
    Fixes: c689a6528c22 ("net: pcs: lynx: update PCS driver to use neg_mode")
    Signed-off-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>
    Reviewed-by: Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/pcs/pcs-lynx.c b/drivers/net/pcs/pcs-lynx.c
index 9021b96d4f9df..dc3962b2aa6b0 100644
--- a/drivers/net/pcs/pcs-lynx.c
+++ b/drivers/net/pcs/pcs-lynx.c
@@ -216,7 +216,7 @@ static void lynx_pcs_link_up_sgmii(struct mdio_device *pcs,
 	/* The PCS needs to be configured manually only
 	 * when not operating on in-band mode
 	 */
-	if (neg_mode != PHYLINK_PCS_NEG_INBAND_ENABLED)
+	if (neg_mode == PHYLINK_PCS_NEG_INBAND_ENABLED)
 		return;
 
 	if (duplex == DUPLEX_HALF)



[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