]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: txgbe: delay to identify modules in .ndo_open
authorJiawen Wu <jiawenwu@trustnetic.com>
Tue, 18 Nov 2025 08:02:58 +0000 (16:02 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 20 Nov 2025 11:47:26 +0000 (12:47 +0100)
For QSFP modules, there is a possibility that the module cannot be
identified when read I2C immediately in .ndo_open. So just set the flag
WX_FLAG_NEED_MODULE_RESET and do it in the subtask, which always wait
200 ms to identify the module. And this change has no impact on the
original adaptation.

Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Link: https://patch.msgid.link/20251118080259.24676-5-jiawenwu@trustnetic.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c

index 5725e9557669124f4269ccb1d13f19e88c128bf4..3b6ea456fbf7045d5404b80b51d47bd63aee3e31 100644 (file)
@@ -345,7 +345,8 @@ void txgbe_setup_link(struct wx *wx)
        phy_interface_zero(txgbe->link_interfaces);
        linkmode_zero(txgbe->link_support);
 
-       txgbe_identify_module(wx);
+       set_bit(WX_FLAG_NEED_MODULE_RESET, wx->flags);
+       wx_service_event_schedule(wx);
 }
 
 static void txgbe_get_link_state(struct phylink_config *config,