]>
Commit | Line | Data |
---|---|---|
9a58d64e GKH |
1 | From 53f57357ff0afc37804f4e82ee3123e0c0a2cad6 Mon Sep 17 00:00:00 2001 |
2 | From: =?UTF-8?q?fran=C3=A7ois=20romieu?= <romieu@fr.zoreil.com> | |
3 | Date: Mon, 8 Nov 2010 13:23:05 +0000 | |
4 | Subject: r8169: revert "Handle rxfifo errors on 8168 chips" | |
5 | ||
6 | From: =?UTF-8?q?fran=C3=A7ois=20romieu?= <romieu@fr.zoreil.com> | |
7 | ||
8 | commit 53f57357ff0afc37804f4e82ee3123e0c0a2cad6 upstream. | |
9 | ||
10 | The original patch helps under obscure conditions (no pun) but | |
11 | some 8168 do not like it. The change needs to be tightened with | |
12 | a specific 8168 version. | |
13 | ||
14 | This reverts commit 801e147cde02f04b5c2f42764cd43a89fc7400a2 | |
15 | ("r8169: Handle rxfifo errors on 8168 chips"). | |
16 | ||
17 | Regression at https://bugzilla.kernel.org/show_bug.cgi?id=20882 | |
18 | ||
19 | Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> | |
20 | Tested-by: Andreas Radke <a.radke@arcor.de> | |
21 | Cc: Matthew Garrett <mjg@redhat.com> | |
22 | Cc: Daniel J Blueman <daniel.blueman@gmail.com> | |
23 | Signed-off-by: David S. Miller <davem@davemloft.net> | |
24 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
25 | ||
26 | --- | |
27 | drivers/net/r8169.c | 5 +++-- | |
28 | 1 file changed, 3 insertions(+), 2 deletions(-) | |
29 | ||
30 | --- a/drivers/net/r8169.c | |
31 | +++ b/drivers/net/r8169.c | |
32 | @@ -2936,7 +2936,7 @@ static const struct rtl_cfg_info { | |
33 | .hw_start = rtl_hw_start_8168, | |
34 | .region = 2, | |
35 | .align = 8, | |
36 | - .intr_event = SYSErr | RxFIFOOver | LinkChg | RxOverflow | | |
37 | + .intr_event = SYSErr | LinkChg | RxOverflow | | |
38 | TxErr | TxOK | RxOK | RxErr, | |
39 | .napi_event = TxErr | TxOK | RxOK | RxOverflow, | |
40 | .features = RTL_FEATURE_GMII | RTL_FEATURE_MSI, | |
41 | @@ -4628,7 +4628,8 @@ static irqreturn_t rtl8169_interrupt(int | |
42 | } | |
43 | ||
44 | /* Work around for rx fifo overflow */ | |
45 | - if (unlikely(status & RxFIFOOver)) { | |
46 | + if (unlikely(status & RxFIFOOver) && | |
47 | + (tp->mac_version == RTL_GIGA_MAC_VER_11)) { | |
48 | netif_stop_queue(dev); | |
49 | rtl8169_tx_timeout(dev); | |
50 | break; |