]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
r8169: fix RTL8117 Wake-on-Lan in DASH mode
authorRené Rebe <rene@exactco.de>
Wed, 31 Dec 2025 13:46:42 +0000 (08:46 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:10:10 +0000 (13:10 +0100)
[ Upstream commit dd75c723ef566f7f009c047f47e0eee95fe348ab ]

Wake-on-Lan does currently not work for r8169 in DASH mode, e.g. the
ASUS Pro WS X570-ACE with RTL8168fp/RTL8117.

Fix by not returning early in rtl_prepare_power_down when dash_enabled.
While this fixes WoL, it still kills the OOB RTL8117 remote management
BMC connection. Fix by not calling rtl8168_driver_stop if WoL is enabled.

Fixes: 065c27c184d6 ("r8169: phy power ops")
Signed-off-by: René Rebe <rene@exactco.de>
Cc: stable@vger.kernel.org
Reviewed-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://patch.msgid.link/20251202.194137.1647877804487085954.rene@exactco.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
[ adapted tp->dash_enabled check to tp->dash_type != RTL_DASH_NONE comparison ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/realtek/r8169_main.c

index 6b5bf7d49296047ef886f8b7feec7bee36c0a726..d272e77999cf461522a11c67a545ca3766220699 100644 (file)
@@ -2513,9 +2513,6 @@ static void rtl_wol_enable_rx(struct rtl8169_private *tp)
 
 static void rtl_prepare_power_down(struct rtl8169_private *tp)
 {
-       if (tp->dash_type != RTL_DASH_NONE)
-               return;
-
        if (tp->mac_version == RTL_GIGA_MAC_VER_32 ||
            tp->mac_version == RTL_GIGA_MAC_VER_33)
                rtl_ephy_write(tp, 0x19, 0xff64);
@@ -4763,7 +4760,7 @@ static void rtl8169_down(struct rtl8169_private *tp)
 
        rtl_prepare_power_down(tp);
 
-       if (tp->dash_type != RTL_DASH_NONE)
+       if (tp->dash_type != RTL_DASH_NONE && !tp->saved_wolopts)
                rtl8168_driver_stop(tp);
 }