lkml.org 
[lkml]   [2004]   [Feb]   [29]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
SubjectRe: 2.6.3 - 8139too timeout debug info
FromOGAWA Hirofumi <>
DateSun, 29 Feb 2004 16:58:37 +0900
"Nick Warne" <nick@ukfsn.org> writes:

> Thanks for your help.  I have hell of a trouble doing this, as soon 
> as any network load happens, the box becomes unresponsive during 
> timeouts - but hopefully I have caught the info required.

Umm.. Looks like chip registers is normal, but TX/RX interrupt doesn't
happen. (BTW, there isn't rtl8139_open on debuginfo.txt. Was it already
scrolled?)

The following patch (incremental patch) is some part reverts to
2.6.2. Is behavior changed?

Please try 8139too-revert01.patch, and 8139too-revert02.patch.
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

---
 drivers/net/8139too.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)
diff -puN drivers/net/8139too.c~8139too-revert01 drivers/net/8139too.c
--- linux-2.6.3/drivers/net/8139too.c~8139too-revert01	2004-02-29 16:05:54.000000000 +0900
+++ linux-2.6.3-hirofumi/drivers/net/8139too.c	2004-02-29 16:29:41.000000000 +0900
@@ -2043,12 +2043,10 @@ static int rtl8139_rx(struct net_device 
 			skb_put (skb, pkt_size);
 
 			skb->protocol = eth_type_trans (skb, dev);
-
+			netif_rx (skb);
 			dev->last_rx = jiffies;
 			tp->stats.rx_bytes += pkt_size;
 			tp->stats.rx_packets++;
-
-			netif_receive_skb (skb);
 		} else {
 			if (net_ratelimit()) 
 				printk (KERN_WARNING
@@ -2204,11 +2202,10 @@ static irqreturn_t rtl8139_interrupt (in
 
 	/* Receive packets are processed by poll routine.
 	   If not running start it now. */
-	if (status & RxAckBits){
-		if (netif_rx_schedule_prep(dev)) {
-			RTL_W16_F (IntrMask, rtl8139_norx_intr_mask);
-			__netif_rx_schedule (dev);
-		}
+	if (status & RxAckBits) {
+		RTL_W16_F(IntrMask, rtl8139_norx_intr_mask);
+		rtl8139_rx(dev, tp, dev->weight);
+		RTL_W16_F(IntrMask, rtl8139_intr_mask);
 	}
 
 	/* Check uncommon events with one test. */
_
---
 drivers/net/8139too.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)
diff -puN drivers/net/8139too.c~8139too-revert02 drivers/net/8139too.c
--- linux-2.6.3/drivers/net/8139too.c~8139too-revert02	2004-02-29 16:30:14.000000000 +0900
+++ linux-2.6.3-hirofumi/drivers/net/8139too.c	2004-02-29 16:33:35.000000000 +0900
@@ -1374,6 +1374,7 @@ static int rtl8139_open (struct net_devi
 
 	rtl8139_start_thread(dev);
 
+	printk("%s: revert02\n", dev->name);
 	spin_lock_irq(&tp->lock);
 	RTL8139_DUMP(dev);
 	spin_unlock_irq(&tp->lock);
@@ -2202,11 +2203,8 @@ static irqreturn_t rtl8139_interrupt (in
 
 	/* Receive packets are processed by poll routine.
 	   If not running start it now. */
-	if (status & RxAckBits) {
-		RTL_W16_F(IntrMask, rtl8139_norx_intr_mask);
+	if (status & RxAckBits)
 		rtl8139_rx(dev, tp, dev->weight);
-		RTL_W16_F(IntrMask, rtl8139_intr_mask);
-	}
 
 	/* Check uncommon events with one test. */
 	if (unlikely(status & (PCIErr | PCSTimeout | RxUnderrun | RxErr)))
_
\
 
 \ /
  Last update: 2005-03-22 13:01    [from the cache]
©2003-2008