[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    2.0.31 corrupted skb with 3c900 (Boomerang)
From:       Jochen Karrer <karrer () wpfd25 ! physik ! uni-wuerzburg ! de>
Date:       1997-10-23 14:28:13
[Download RAW message or body]

Hi, 
I have problems with Linux 2.0.31 and:
Ethernet controller: 3Com 3C900 10b Combo (rev 0).
I also tried 3c59x.c Version 0.46C with the same bad result.

When transfering data with ftp or moving big files over NFS
I get a kernel panic:
skb_put: 0019ce2c len: 1514 
I also dumped the skb struct and found that the skb is corrupted:

skb->tail: f001053d
skb->len: -268372647
skb->end: 0xf000ff53

This happens in boomerang_rx where the data is moved to a skb without
copying:

 } else{
                void *temp;
                /* Pass up the skbuff already on the Rx ring. */
                skb = vp->rx_skbuff[entry];
                vp->rx_skbuff[entry] = NULL;
                temp = skb_put(skb, pkt_len);
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		Here it Panics

I disabled the feature of moving the data without copying by
increasing rx_copybreak, but when 
I did this I got a new problem: The kernel died after about 200MB transfered
with a lot of Messages:
Aiee Scheduling in Interrupt: 0x00125006d
This is in __wait_on_buffer
I nowhere found a function in the Interrupt handler which calls
__wait_on_buffer.


Does Anybody have similar problems with the Boomerang ?

Jochen

-- 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic