diff options
author | Michael Buesch <mbuesch@freenet.de> | 2006-02-21 12:08:55 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-03-27 11:18:39 -0500 |
commit | cad2b31a76763d06048fb23a17b062acd5d46639 (patch) | |
tree | 682290730140415df89213a86157bb37031ec0cb /drivers/net | |
parent | bf7b876043e6e1390b1234d740f4fd9af20b3b9e (diff) |
[PATCH] bcm43xx: move initialized = 1 to the end of init_board.
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>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx_main.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c index 57306a658407..4a7d88d28211 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c | |||
@@ -3484,15 +3484,17 @@ static int bcm43xx_init_board(struct bcm43xx_private *bcm) | |||
3484 | 3484 | ||
3485 | bcm43xx_pctl_set_clock(bcm, BCM43xx_PCTL_CLK_DYNAMIC); | 3485 | bcm43xx_pctl_set_clock(bcm, BCM43xx_PCTL_CLK_DYNAMIC); |
3486 | 3486 | ||
3487 | spin_lock_irqsave(&bcm->lock, flags); | ||
3488 | bcm->initialized = 1; | ||
3489 | spin_unlock_irqrestore(&bcm->lock, flags); | ||
3490 | |||
3491 | if (bcm->current_core->radio->initial_channel != 0xFF) { | 3487 | if (bcm->current_core->radio->initial_channel != 0xFF) { |
3492 | bcm43xx_mac_suspend(bcm); | 3488 | bcm43xx_mac_suspend(bcm); |
3493 | bcm43xx_radio_selectchannel(bcm, bcm->current_core->radio->initial_channel, 0); | 3489 | bcm43xx_radio_selectchannel(bcm, bcm->current_core->radio->initial_channel, 0); |
3494 | bcm43xx_mac_enable(bcm); | 3490 | bcm43xx_mac_enable(bcm); |
3495 | } | 3491 | } |
3492 | |||
3493 | /* Initialization of the board is done. Flag it as such. */ | ||
3494 | spin_lock_irqsave(&bcm->lock, flags); | ||
3495 | bcm->initialized = 1; | ||
3496 | spin_unlock_irqrestore(&bcm->lock, flags); | ||
3497 | |||
3496 | bcm43xx_periodic_tasks_setup(bcm); | 3498 | bcm43xx_periodic_tasks_setup(bcm); |
3497 | 3499 | ||
3498 | assert(err == 0); | 3500 | assert(err == 0); |