On Wednesday 13 September 2006 15:25, Larry Finger wrote:
> Michael Buesch wrote:
> > 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?
> 
> No - I don't have the hardware.
> > 
> >> 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.
> > 
> 
> I see your point, but the current way breaks a UP system! What to do?

Simple. Reading the code of synchronize_net() and
netif_stop_queue() and thinking about why it breaks, instead
of committing bugfixes that only substitute one bug by another. ;)
I'll take a look, too.

-- 
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