Skip to content

Commit 8b0a34f

Browse files
dchangtwgregkh
authored andcommitted
r8169: check ALDPS bit and disable it if enabled for the 8168g
[ Upstream commit 1bac107 ] Windows driver will enable ALDPS function, but linux driver and firmware do not have any configuration related to ALDPS function for 8168g. So restart system to linux and remove the NIC cable, LAN enter ALDPS, then LAN RX will be disabled. This issue can be easily reproduced on dual boot windows and linux system with RTL_GIGA_MAC_VER_40 chip. Realtek said, ALDPS function can be disabled by configuring to PHY, switch to page 0x0A43, reg0x10 bit2=0. Signed-off-by: David Chang <dchang@suse.com> Acked-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent df0c053 commit 8b0a34f

File tree

1 file changed

+5
-0
lines changed
  • drivers/net/ethernet/realtek

1 file changed

+5
-0
lines changed

drivers/net/ethernet/realtek/r8169.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3465,6 +3465,11 @@ static void rtl8168g_1_hw_phy_config(struct rtl8169_private *tp)
34653465
rtl_writephy(tp, 0x14, 0x9065);
34663466
rtl_writephy(tp, 0x14, 0x1065);
34673467

3468+
/* Check ALDPS bit, disable it if enabled */
3469+
rtl_writephy(tp, 0x1f, 0x0a43);
3470+
if (rtl_readphy(tp, 0x10) & 0x0004)
3471+
rtl_w1w0_phy(tp, 0x10, 0x0000, 0x0004);
3472+
34683473
rtl_writephy(tp, 0x1f, 0x0000);
34693474
}
34703475

0 commit comments

Comments
 (0)