From: Heiner Kallweit Date: Fri, 8 May 2020 21:32:49 +0000 (+0200) Subject: r8169: improve reset handling for chips from RTL8168g X-Git-Tag: v5.8-rc1~165^2~243^2 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=ce740c5f6f7a2142ca7acee7799996c0beac2980;p=linux-2.6-block.git r8169: improve reset handling for chips from RTL8168g Sync the reset preparation for chips from RTL8168g with the r8168 and r8125 vendor drivers. Signed-off-by: Heiner Kallweit Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c index 47ff514aec39..b4e49c446bd0 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -2535,10 +2535,13 @@ static void rtl8169_hw_reset(struct rtl8169_private *tp) rtl_loop_wait_low(tp, &rtl_npq_cond, 20, 2000); break; case RTL_GIGA_MAC_VER_34 ... RTL_GIGA_MAC_VER_38: - case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_52: RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq); rtl_loop_wait_high(tp, &rtl_txcfg_empty_cond, 100, 666); break; + case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_61: + rtl_enable_rxdvgate(tp); + fsleep(2000); + break; default: RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq); udelay(100);