5.15-stable review patch. If anyone has any objections, please let me know. ------------------ From: ChunHao Lin <hau@xxxxxxxxxxx> commit 868c3b95afef4883bfb66c9397482da6840b5baf upstream. Device that support DASH may be reseted or powered off during suspend. So driver needs to handle DASH during system suspend and resume. Or DASH firmware will influence device behavior and causes network lost. Fixes: b646d90053f8 ("r8169: magic.") Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: ChunHao Lin <hau@xxxxxxxxxxx> Link: https://lore.kernel.org/r/20231109173400.4573-3-hau@xxxxxxxxxxx Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/net/ethernet/realtek/r8169_main.c | 6 ++++++ 1 file changed, 6 insertions(+) --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -4714,10 +4714,16 @@ static void rtl8169_down(struct rtl8169_ rtl8169_cleanup(tp, true); rtl_prepare_power_down(tp); + + if (tp->dash_type != RTL_DASH_NONE) + rtl8168_driver_stop(tp); } static void rtl8169_up(struct rtl8169_private *tp) { + if (tp->dash_type != RTL_DASH_NONE) + rtl8168_driver_start(tp); + pci_set_master(tp->pci_dev); phy_init_hw(tp->phydev); phy_resume(tp->phydev);