diff options
author | françois romieu <romieu@fr.zoreil.com> | 2010-11-08 13:23:05 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-11-09 08:26:42 -0800 |
commit | 53f57357ff0afc37804f4e82ee3123e0c0a2cad6 (patch) | |
tree | 3d37da715fd87d4508b48292a48eb4d7b01ddc18 /drivers/net/r8169.c | |
parent | 18943d292facbc70e6a36fc62399ae833f64671b (diff) | |
download | blackbird-op-linux-53f57357ff0afc37804f4e82ee3123e0c0a2cad6.tar.gz blackbird-op-linux-53f57357ff0afc37804f4e82ee3123e0c0a2cad6.zip |
r8169: revert "Handle rxfifo errors on 8168 chips"
The original patch helps under obscure conditions (no pun) but
some 8168 do not like it. The change needs to be tightened with
a specific 8168 version.
This reverts commit 801e147cde02f04b5c2f42764cd43a89fc7400a2
("r8169: Handle rxfifo errors on 8168 chips").
Regression at https://bugzilla.kernel.org/show_bug.cgi?id=20882
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Tested-by: Andreas Radke <a.radke@arcor.de>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Daniel J Blueman <daniel.blueman@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/r8169.c')
-rw-r--r-- | drivers/net/r8169.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index d88ce9fb1cbd..3a0877e0f97c 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -2931,7 +2931,7 @@ static const struct rtl_cfg_info { .hw_start = rtl_hw_start_8168, .region = 2, .align = 8, - .intr_event = SYSErr | RxFIFOOver | LinkChg | RxOverflow | + .intr_event = SYSErr | LinkChg | RxOverflow | TxErr | TxOK | RxOK | RxErr, .napi_event = TxErr | TxOK | RxOK | RxOverflow, .features = RTL_FEATURE_GMII | RTL_FEATURE_MSI, @@ -4588,7 +4588,8 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance) } /* Work around for rx fifo overflow */ - if (unlikely(status & RxFIFOOver)) { + if (unlikely(status & RxFIFOOver) && + (tp->mac_version == RTL_GIGA_MAC_VER_11)) { netif_stop_queue(dev); rtl8169_tx_timeout(dev); break; |