Re: [PATCH] r8169: add support for RTL8127ATF

From: Heiner Kallweit

Date: Fri Nov 21 2025 - 08:09:12 EST


On 11/21/2025 1:09 PM, Fabio Baltieri wrote:
> On Fri, Nov 21, 2025 at 12:17:33AM +0100, Heiner Kallweit wrote:
>> Could you please test whether the following fixes the chip hang on suspend / shutdown?
>>
>> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
>> index de304d1eb..97dbe8f89 100644
>> --- a/drivers/net/ethernet/realtek/r8169_main.c
>> +++ b/drivers/net/ethernet/realtek/r8169_main.c
>> @@ -1517,11 +1517,20 @@ static enum rtl_dash_type rtl_get_dash_type(struct rtl8169_private *tp)
>>
>> static void rtl_set_d3_pll_down(struct rtl8169_private *tp, bool enable)
>> {
>> - if (tp->mac_version >= RTL_GIGA_MAC_VER_25 &&
>> - tp->mac_version != RTL_GIGA_MAC_VER_28 &&
>> - tp->mac_version != RTL_GIGA_MAC_VER_31 &&
>> - tp->mac_version != RTL_GIGA_MAC_VER_38)
>> - r8169_mod_reg8_cond(tp, PMCH, D3_NO_PLL_DOWN, !enable);
>> + switch (tp->mac_version) {
>> + case RTL_GIGA_MAC_VER_02 ... RTL_GIGA_MAC_VER_24:
>> + case RTL_GIGA_MAC_VER_28:
>> + case RTL_GIGA_MAC_VER_31:
>> + case RTL_GIGA_MAC_VER_38:
>> + break;
>> + case RTL_GIGA_MAC_VER_80:
>> + r8169_mod_reg8_cond(tp, PMCH, D3_NO_PLL_DOWN, true);
>> + break;
>> + default:
>> + r8169_mod_reg8_cond(tp, PMCH, D3HOT_NO_PLL_DOWN, true);
>> + r8169_mod_reg8_cond(tp, PMCH, D3COLD_NO_PLL_DOWN, !enable);
>> + break;
>> + }
>> }
>>
>> static void rtl_reset_packet_filter(struct rtl8169_private *tp)
>
> Yes, patched it in and tested on both suspend and reboot without
> touching the wol flags, seems to be working correctly.
>
Great, thanks for the feedback!

> Thanks!