We properly configure the L0s/L1 entry delay in the startup functions of
RTL8105e and RTL8401 through rtl_set_def_aspm_entry_latency(), which will
avoid local denial of service.
Signed-off-by: Yeqi Fu <[email protected]>
---
drivers/net/ethernet/realtek/r8169_main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
index bbe21db20417..4f533007a456 100644
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -3420,6 +3420,7 @@ static void rtl_hw_start_8401(struct rtl8169_private *tp)
{ 0x07, 0xffff, 0x8e68 },
};
+ rtl_set_def_aspm_entry_latency(tp);
rtl_ephy_init(tp, e_info_8401);
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
}
@@ -3437,6 +3438,7 @@ static void rtl_hw_start_8105e_1(struct rtl8169_private *tp)
{ 0x0a, 0, 0x0020 }
};
+ rtl_set_def_aspm_entry_latency(tp);
/* Force LAN exit from ASPM if Rx/Tx are not idle */
RTL_W32(tp, FuncEvent, RTL_R32(tp, FuncEvent) | 0x002800);
--
2.30.1 (Apple Git-130)
On 19.11.2021 19:47, Yeqi Fu wrote:
> We properly configure the L0s/L1 entry delay in the startup functions of
> RTL8105e and RTL8401 through rtl_set_def_aspm_entry_latency(), which will
> avoid local denial of service.
>
What do you mean with local denial of service? Are you aware of any issues
with these two chip versions?
Where do you got the info from that these calls are appropriate? At least
for RTL8401 even the r8101 vendor driver doesn't do it.
Your patch misses the net vs. net-next annotation. Is this supposed to be
a fix? Then a Fixes tag would be needed.
> Signed-off-by: Yeqi Fu <[email protected]>
> ---
> drivers/net/ethernet/realtek/r8169_main.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index bbe21db20417..4f533007a456 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -3420,6 +3420,7 @@ static void rtl_hw_start_8401(struct rtl8169_private *tp)
> { 0x07, 0xffff, 0x8e68 },
> };
>
> + rtl_set_def_aspm_entry_latency(tp);
> rtl_ephy_init(tp, e_info_8401);
> RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
> }
> @@ -3437,6 +3438,7 @@ static void rtl_hw_start_8105e_1(struct rtl8169_private *tp)
> { 0x0a, 0, 0x0020 }
> };
>
> + rtl_set_def_aspm_entry_latency(tp);
> /* Force LAN exit from ASPM if Rx/Tx are not idle */
> RTL_W32(tp, FuncEvent, RTL_R32(tp, FuncEvent) | 0x002800);
>
>