[PATCH net V2] r8169: fix RTL8117 Wake-on-Lan in DASH mode

René Rebe posted 1 patch 2 weeks, 3 days ago
drivers/net/ethernet/realtek/r8169_main.c | 5 +----
1 file changed, 1 insertions(+), 4 deletions(-)
[PATCH net V2] r8169: fix RTL8117 Wake-on-Lan in DASH mode
Posted by René Rebe 2 weeks, 3 days ago
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
---
V2; DASH WoL fix only
Tested on ASUS Pro WS X570-ACE with RTL8168fp/RTL8117 running T2/Linux.
---
 drivers/net/ethernet/realtek/r8169_main.c | 5 +----
 1 file changed, 1 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
index 853aabedb128..e2f9b9027fe2 100644
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -2669,9 +2669,6 @@ static void rtl_wol_enable_rx(struct rtl8169_private *tp)
 
 static void rtl_prepare_power_down(struct rtl8169_private *tp)
 {
-	if (tp->dash_enabled)
-		return;
-
 	if (tp->mac_version == RTL_GIGA_MAC_VER_32 ||
 	    tp->mac_version == RTL_GIGA_MAC_VER_33)
 		rtl_ephy_write(tp, 0x19, 0xff64);
@@ -4807,7 +4804,7 @@ static void rtl8169_down(struct rtl8169_private *tp)
 	rtl_disable_exit_l1(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);
 }
 
-- 
2.46.0

-- 
René Rebe, ExactCODE GmbH, Berlin, Germany
https://exactco.de • https://t2linux.com • https://patreon.com/renerebe
Re: [PATCH net V2] r8169: fix RTL8117 Wake-on-Lan in DASH mode
Posted by Heiner Kallweit 2 weeks, 3 days ago
On 12/2/2025 7:41 PM, René Rebe wrote:
> 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
> ---
> V2; DASH WoL fix only
> Tested on ASUS Pro WS X570-ACE with RTL8168fp/RTL8117 running T2/Linux.
> ---

Reviewed-by: Heiner Kallweit <hkallweit1@gmail.com>