On Wednesday 03 February 2010 20:33:44 Larry Finger wrote: > If b43 or b43legacy are deauthenticated or disconnected, there is a > possibility that a reconnection is tried with the queues stopped in > mac80211. To prevent this, start the queues before setting > STAT_INITIALIZED. > > In b43, a similar change has been in place (twice) in the > wireless_core_init() routine. Remove the duplicate and add similar > code to b43legacy. > > Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> > Cc: Stable <stable@xxxxxxxxxx> [2.6.32] > --- > > John, > > The b43 patch to wireless_core_start() seems to help a regression > between 2.6.31 and 2.6.32. Accordingly, these changes should be > applied to 2.6.33 with the automatic backport to 2.6.32. > > Larry > --- > > Index: wireless-testing/drivers/net/wireless/b43/main.c > =================================================================== > --- wireless-testing.orig/drivers/net/wireless/b43/main.c > +++ wireless-testing/drivers/net/wireless/b43/main.c > @@ -3980,6 +3980,7 @@ static int b43_wireless_core_start(struc > } > > /* We are ready to run. */ > + ieee80211_wake_queues(dev->wl->hw); > b43_set_status(dev, B43_STAT_STARTED); > > /* Start data flow (TX/RX). */ > @@ -4389,8 +4390,6 @@ static int b43_wireless_core_init(struct > > ieee80211_wake_queues(dev->wl->hw); > > - ieee80211_wake_queues(dev->wl->hw); > - > b43_set_status(dev, B43_STAT_INITIALIZED); Well, I wonder why it makes a difference. I think we only call core_start() right after core_init() calls. Anyway, I think wake_queues should both be removed from core_init() and queues should only be woken in core_start. -- Greetings, Michael. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html