All of lore.kernel.org
 help / color / mirror / Atom feed
From: Francois Romieu <romieu@fr.zoreil.com>
To: booster@wolke7.net
Cc: hayeswang <hayeswang@realtek.com>,
	"'Jonathan Nieder'" <jrnieder@gmail.com>,
	"'Eric Dumazet'" <eric.dumazet@gmail.com>,
	netdev@vger.kernel.org, "'nic_swsd'" <nic_swsd@realtek.com>,
	linux-kernel@vger.kernel.org,
	"'Armin Kazmi'" <armin.kazmi@tu-dortmund.de>
Subject: Re: [bug?] r8169: hangs under heavy load
Date: Thu, 1 Dec 2011 11:20:00 +0100	[thread overview]
Message-ID: <20111201102000.GA14013@electric-eye.fr.zoreil.com> (raw)
In-Reply-To: <4ED538EC.4010509@wolke7.net>

booster@wolke7.net <booster@wolke7.net> :
[...]
> Any more ideas ?

Give me a brain.

Fixed patch below.

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 6f06aa1..e776bf2 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4885,8 +4894,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 +5812,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 +5830,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 +5839,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:

  reply	other threads:[~2011-12-01 10:26 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [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 [this message]
2011-12-01 20:42                                     ` booster
2011-12-01 22:26                                       ` Francois Romieu
2011-12-05  6:30                                         ` [PATCH 1/2] r8169: Rx FIFO overflow fixes Francois Romieu
2011-12-05 23:45                                           ` David Miller
2012-02-20  2:37                                           ` Jonathan Nieder
2012-02-20 23:22                                             ` Francois Romieu
2011-12-05  6:30                                         ` [PATCH 2/2] r8169: fix Rx index race between FIFO overflow recovery and NAPI handler Francois Romieu
2011-12-05 23:45                                           ` David Miller
2011-12-02  2:21                                 ` [bug?] r8169: hangs under heavy load hayeswang
2011-11-29 19:09 Lucas Stach

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=20111201102000.GA14013@electric-eye.fr.zoreil.com \
    --to=romieu@fr.zoreil.com \
    --cc=armin.kazmi@tu-dortmund.de \
    --cc=booster@wolke7.net \
    --cc=eric.dumazet@gmail.com \
    --cc=hayeswang@realtek.com \
    --cc=jrnieder@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nic_swsd@realtek.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.