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

Reply via email to