]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/2.6.36.2/r8169-revert-handle-rxfifo-errors-on-8168-chips.patch
fixes for 4.19
[thirdparty/kernel/stable-queue.git] / releases / 2.6.36.2 / r8169-revert-handle-rxfifo-errors-on-8168-chips.patch
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;