netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* HELP - NETDEV WATCHDOG tx timeouts
@ 2006-09-09  3:03 Larry Finger
  0 siblings, 0 replies; only message in thread
From: Larry Finger @ 2006-09-09  3:03 UTC (permalink / raw)
  To: netdev, LKML

In the bcm43xx driver, the code snippet shown below has a problem. When the synchronize_net 
statement is included, once every 200-300 passes through the code, the system will report a NETDEV 
WATCHDOG tx timeout for bcm43xx, even when the watchdog timeout is set to 30 sec. When the 
synchronize statement is removed, there are no errors, Except for lo, this is the only active 
network device on the system.

Is there something wrong with this structure? How can synchronize_net take that long?

Thanks, Larry

==============

        mutex_lock(...);
        netif_stop_queue(net_device);
        synchronize_net();               <================ problem ?
        spin_lock_irqsave(.....);
...... do some stuff on the hardware
        disable interrupts on device
        spin_unlock_irqrestore(.......);
        synchronize irq top/bottom halves
...... lengthy processing here
        spin_lock_irqsave(.....);
        tasklet_enable(.....);
        enable interrupts
...... more stuff with the hardware
        netif_wake_queue(net_device);
        spin_unlock_irqrestore(...);
        mutex_unlock(...);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-09-09  3:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-09  3:03 HELP - NETDEV WATCHDOG tx timeouts Larry Finger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).