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 17:09:17 +0900
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:

> "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?

Oops, wrong patches. Please try these.
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

---
 drivers/net/8139too.c |   14 ++++++--------
 1 files changed, 6 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 17:02:32.000000000 +0900
+++ linux-2.6.3-hirofumi/drivers/net/8139too.c	2004-02-29 17:02:59.000000000 +0900
@@ -1374,6 +1374,7 @@ static int rtl8139_open (struct net_devi
 
 	rtl8139_start_thread(dev);
 
+	printk("%s: revert01\n", dev->name);
 	spin_lock_irq(&tp->lock);
 	RTL8139_DUMP(dev);
 	spin_unlock_irq(&tp->lock);
@@ -2043,12 +2044,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 +2203,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 |    7 ++-----
 1 files changed, 2 insertions(+), 5 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 17:04:38.000000000 +0900
+++ linux-2.6.3-hirofumi/drivers/net/8139too.c	2004-02-29 17:04:58.000000000 +0900
@@ -1374,7 +1374,7 @@ static int rtl8139_open (struct net_devi
 
 	rtl8139_start_thread(dev);
 
-	printk("%s: revert01\n", dev->name);
+	printk("%s: revert02\n", dev->name);
 	spin_lock_irq(&tp->lock);
 	RTL8139_DUMP(dev);
 	spin_unlock_irq(&tp->lock);
@@ -2203,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    [W:0.404 / U:0.030 seconds]
©2003-2008 Jasper Spaans