Reorder the starting of the wireless core. First set the "we are ready to go" status and then poke operation.
Signed-off-by: Michael Buesch <[EMAIL PROTECTED]> Index: wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_main.c =================================================================== --- wireless-dev.orig/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_main.c 2007-08-08 22:17:24.000000000 +0200 +++ wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_main.c 2007-08-08 22:17:29.000000000 +0200 @@ -3086,13 +3086,18 @@ static int bcm43xx_wireless_core_start(s dev->dev->irq); goto out; } + + /* We are ready to run. */ + bcm43xx_set_status(dev, BCM43xx_STAT_STARTED); + + /* Start data flow (TX/RX). */ bcm43xx_mac_enable(dev); + bcm43xx_interrupt_enable(dev, dev->irq_savedstate); + ieee80211_start_queues(dev->wl->hw); + /* Start maintainance work */ bcm43xx_periodic_tasks_setup(dev); - ieee80211_start_queues(dev->wl->hw); - bcm43xx_set_status(dev, BCM43xx_STAT_STARTED); - bcm43xx_interrupt_enable(dev, dev->irq_savedstate); bcmdbg(dev->wl, "Wireless interface started\n"); out: return err; -- _______________________________________________ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev