[bug?] r8169: hangs under heavy load

Message ID 20111201222612.GA27998@electric-eye.fr.zoreil.com
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

Francois Romieu Dec. 1, 2011, 10:26 p.m.
booster@wolke7.net <booster@wolke7.net> :
> it looks OK now - no more "eth0: link up" messages and network hangs any
> more.
> I've send and received 60 GB to and from the system and the performance
> is ~30 MB/s.
> I'll keep the system up and running and do some more stability tests.

Wonderful. Thanks for testing.

> The only thing that's missing now is the transfer LED: the yellow link
> LED is on, but the green transfer LED is off and doesn't blink.

I have never looked too closely at it. You may experiment with the LEDS0 and
LEDS1 bits of Config1 (no warranty). Your chipset would require it in
__rtl_hw_start_8168cp - if at all.


diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 6f06aa1..d6243a9 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4602,7 +4620,7 @@  static void rtl_hw_start_8168bef(void __iomem *ioaddr, struct pci_dev *pdev)
 static void __rtl_hw_start_8168cp(void __iomem *ioaddr, struct pci_dev *pdev)
-	RTL_W8(Config1, RTL_R8(Config1) | Speed_down);
+	RTL_W8(Config1, RTL_R8(Config1) | Speed_down | LEDS1);
 	RTL_W8(Config3, RTL_R8(Config3) & ~Beacon_en);