From: Lucas Stach <dev@lynxeye.de>
To: Netdev <netdev@vger.kernel.org>, Francois Romieu <romieu@fr.zoreil.com>
Subject: Re: [bug?] r8169: hangs under heavy load
Date: Tue, 29 Nov 2011 20:09:47 +0100 [thread overview]
Message-ID: <1322593787.1642.6.camel@tellur> (raw)
[please cc me on every answer, I'm not subscribed to the list]
Hello Francois and others,
>Gerd, can you try the patch below ? It should match Haye's description.
>
>diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
>index 6f06aa1..97b5593 100644
>--- a/drivers/net/ethernet/realtek/r8169.c
>+++ b/drivers/net/ethernet/realtek/r8169.c
>@@ -4885,8 +4885,7 @@ static void rtl_hw_start_8168(struct net_device *dev)
> RTL_W16(IntrMitigate, 0x5151);
>
> /* Work around for RxFIFO overflow. */
>- if (tp->mac_version == RTL_GIGA_MAC_VER_11 ||
>- tp->mac_version == RTL_GIGA_MAC_VER_22) {
>+ if (tp->mac_version == RTL_GIGA_MAC_VER_11) {
> tp->intr_event |= RxFIFOOver | PCSTimeout;
> tp->intr_event &= ~RxOverflow;
> }
>@@ -5804,6 +5803,10 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
> */
> status = RTL_R16(IntrStatus);
> while (status && status != 0xffff) {
>+ status &= ~tp->intr_event;
>+ if (!status)
>+ break;
>+
> handled = 1;
>
> /* Handle all of the error cases first. These will reset
>@@ -5818,7 +5821,6 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
> switch (tp->mac_version) {
> /* Work around for rx fifo overflow */
> case RTL_GIGA_MAC_VER_11:
>- case RTL_GIGA_MAC_VER_22:
> case RTL_GIGA_MAC_VER_26:
> netif_stop_queue(dev);
> rtl8169_tx_timeout(dev);
>@@ -5828,6 +5830,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
> case RTL_GIGA_MAC_VER_19:
> case RTL_GIGA_MAC_VER_20:
> case RTL_GIGA_MAC_VER_21:
>+ case RTL_GIGA_MAC_VER_22:
case RTL_GIGA_MAC_VER_23:
case RTL_GIGA_MAC_VER_24:
case RTL_GIGA_MAC_VER_27:
I have tried the above patch in an attempt to solve my problem described
in message "Lockups with r8169 driver (Was: Hangs with Linux
3.2.0-rc3)", which are really similar to the problem described in this
thread.
The patch doesn't help, in fact it renders the ethernet adapter
unusable, as it is failing even the media detect (according to network
manager). I will gladly test any other patches you come up with.
Thanks,
Lucas
next reply other threads:[~2011-11-29 19:09 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-29 19:09 Lucas Stach [this message]
[not found] <4E7F4D45.7040902@wolke7.net>
[not found] ` <1316978632.4122.103.camel@deadeye>
[not found] ` <4E82C0B5.1050902@wolke7.net>
[not found] ` <1317254171.4068.12.camel@deadeye>
[not found] ` <20111124044137.GA18262@elie.hsd1.il.comcast.net>
[not found] ` <4ECFE7A7.5070300@wolke7.net>
2011-11-25 20:19 ` [bug?] r8169: hangs under heavy load Jonathan Nieder
2011-11-25 20:31 ` Jonathan Nieder
2011-11-25 20:32 ` Eric Dumazet
2011-11-25 20:54 ` Jonathan Nieder
2011-11-25 21:05 ` Eric Dumazet
2011-11-25 22:22 ` Francois Romieu
2011-11-25 23:05 ` Eric Dumazet
2011-11-26 0:44 ` Francois Romieu
2011-11-26 4:07 ` Eric Dumazet
2011-11-27 9:28 ` Jonathan Nieder
2011-11-27 21:02 ` booster
2011-11-27 23:11 ` Francois Romieu
2011-11-29 6:47 ` hayeswang
2011-11-29 10:54 ` Francois Romieu
2011-11-29 19:56 ` booster
2011-12-01 10:20 ` Francois Romieu
2011-12-01 20:42 ` booster
2011-12-01 22:26 ` Francois Romieu
2011-12-02 2:21 ` hayeswang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1322593787.1642.6.camel@tellur \
--to=dev@lynxeye.de \
--cc=netdev@vger.kernel.org \
--cc=romieu@fr.zoreil.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).