On Wednesday 13 September 2006 04:25, Larry Finger wrote: > Michael, > > I still have not gotten a network guru to answer any questions about > synchronize_net, but I have been testing the patch below:
I'd say this is racy. Did you test this on SMP? > Index: wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c > =================================================================== > --- wireless-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_main.c > +++ wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c > @@ -3169,8 +3169,8 @@ static void bcm43xx_periodic_work_handle > * be preemtible. > */ > mutex_lock(&bcm->mutex); > - netif_stop_queue(bcm->net_dev); > synchronize_net(); A TX handler starts on another CPU. > + netif_stop_queue(bcm->net_dev); It's still running... boom. > spin_lock_irqsave(&bcm->irq_lock, flags); > bcm43xx_mac_suspend(bcm); > if (bcm43xx_using_pio(bcm)) > > With the synchronize_net call before the netif_stop_queue as shown, my device > has run since last Saturday with no netdev watchdog tx timeouts. Roughly two > days of that testing was done at the accelerated rate of 60X normal. > > I still hope to get access to a guru, but if that doesn't happen soon, I'm > going > to push this change so that it gets into 2.6.19. > > Larry > > -- Greetings Michael. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html