[PATCH] bcm43xx: move initialized = 1 to the end of init_board.
authorMichael Buesch <mbuesch@freenet.de>
Tue, 21 Feb 2006 17:08:55 +0000 (18:08 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 27 Mar 2006 16:18:39 +0000 (11:18 -0500)
Note that the periodic work has to be started with initialized==1

Signed-off-by: Michael Buesch <mbuesch@freenet.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/bcm43xx/bcm43xx_main.c

index 57306a6..4a7d88d 100644 (file)
@@ -3484,15 +3484,17 @@ static int bcm43xx_init_board(struct bcm43xx_private *bcm)
 
        bcm43xx_pctl_set_clock(bcm, BCM43xx_PCTL_CLK_DYNAMIC);
 
-       spin_lock_irqsave(&bcm->lock, flags);
-       bcm->initialized = 1;
-       spin_unlock_irqrestore(&bcm->lock, flags);
-
        if (bcm->current_core->radio->initial_channel != 0xFF) {
                bcm43xx_mac_suspend(bcm);
                bcm43xx_radio_selectchannel(bcm, bcm->current_core->radio->initial_channel, 0);
                bcm43xx_mac_enable(bcm);
        }
+
+       /* Initialization of the board is done. Flag it as such. */
+       spin_lock_irqsave(&bcm->lock, flags);
+       bcm->initialized = 1;
+       spin_unlock_irqrestore(&bcm->lock, flags);
+
        bcm43xx_periodic_tasks_setup(bcm);
 
        assert(err == 0);