lkml.org 
[lkml]   [2003]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.4, b44 transmit timeout
On Mon, Sep 01, 2003 at 09:32:35PM +0200, Norbert Preining wrote:
> Hi!
>
> I have the following problem since I switched from bcm4400 to the
> `in-kernel' driver b44:
> Sep 1 17:37:11 gandalf vmunix: b44: eth0: Link is up at 10 Mbps, half duplex.
> Sep 1 17:37:11 gandalf vmunix: b44: eth0: Flow control is off for TX and off for RX.
> Sep 1 17:37:16 gandalf vmunix: NETDEV WATCHDOG: eth0: transmit timed out
> Sep 1 17:37:16 gandalf vmunix: b44: eth0: transmit timed out, resetting
> Sep 1 17:37:17 gandalf vmunix: b44: eth0: Link is down.
> Sep 1 17:37:20 gandalf vmunix: b44: eth0: Link is up at 10 Mbps, half duplex.
> Sep 1 17:37:20 gandalf vmunix: b44: eth0: Flow control is off for TX and off for RX.
>
> and so on. This didn't (and still does not) happen with the bcm4400
> (from debian sid bcm4400-source).
>
> I compiled the kernel myself on debian/sid, it is a laptop (acer tm654).
>
> If you need more information I will provide all I can do.
Argh, I had hoped the driver was BugFree (tm)!

Could you try adding some debug printk's to b44_tx and b44_start_xmit

say something like:

in b44_tx()
for (cons = bp->tx_cons; cons != cur; cons = NEXT_TX(cons)) {
struct ring_info *rp = &bp->tx_buffers[cons];
struct sk_buff *skb = rp->skb;
+ printk(KERN_DEBUG "b44_tx cons: %d cur: %d skb: %p\n",cons,cur,skb);


and in b44_start_xmit something like:

bp->tx_ring[entry].addr = cpu_to_le32((u32) mapping+bp->dma_offset);
+ printk(KERN_DEBUG "b44_start_xmit ctrl: %x addr: %p entry: %d skb: %p",bp->tx_ring[entry].ctrl,bp->tx_ring[entry].addr,entry,skb);

(that should hopefully be enough to see what's happening)

Also setting B44_FLAG_BUGGY_TXPTR and B44_FLAG_REORDER_BUG in
b44_get_invariants() might be worth a shot. I'm not sure where those
flags came from, my A7V8X works fine without them and bcm4400 doesn't have
that stuff either.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:48    [W:0.062 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site