Hendrik,
Please try this patch.
Thanks,
Larry
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
@@ -3250,11 +3250,11 @@ static void bcm43xx_periodic_work_handle
mutex_lock(&bcm->mutex);
badness = estimate_periodic_work_badness(bcm->periodic_state);
+ netif_tx_disable(bcm->net_dev);
if (badness > BADNESS_LIMIT) {
/* Periodic work will take a long time, so we want it to
* be preemtible.
*/
- netif_tx_disable(bcm->net_dev);
spin_lock_irqsave(&bcm->irq_lock, flags);
bcm43xx_mac_suspend(bcm);
if (bcm43xx_using_pio(bcm))
@@ -3278,10 +3286,10 @@ static void bcm43xx_periodic_work_handle
if (bcm43xx_using_pio(bcm))
bcm43xx_pio_thaw_txqueues(bcm);
bcm43xx_mac_enable(bcm);
- netif_wake_queue(bcm->net_dev);
}
mmiowb();
spin_unlock_irqrestore(&bcm->irq_lock, flags);
+ netif_wake_queue(bcm->net_dev);
mutex_unlock(&bcm->mutex);
}
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev