aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/bcm43xx/bcm43xx_main.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index 6dd475eb5510..b1e45340bd82 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -3274,6 +3274,7 @@ static int bcm43xx_shutdown_all_wireless_cores(struct bcm43xx_private *bcm)
3274/* This is the opposite of bcm43xx_init_board() */ 3274/* This is the opposite of bcm43xx_init_board() */
3275static void bcm43xx_free_board(struct bcm43xx_private *bcm) 3275static void bcm43xx_free_board(struct bcm43xx_private *bcm)
3276{ 3276{
3277 bcm43xx_rng_exit(bcm);
3277 bcm43xx_sysfs_unregister(bcm); 3278 bcm43xx_sysfs_unregister(bcm);
3278 bcm43xx_periodic_tasks_delete(bcm); 3279 bcm43xx_periodic_tasks_delete(bcm);
3279 3280
@@ -3541,6 +3542,9 @@ static int bcm43xx_init_board(struct bcm43xx_private *bcm)
3541 err = bcm43xx_sysfs_register(bcm); 3542 err = bcm43xx_sysfs_register(bcm);
3542 if (err) 3543 if (err)
3543 goto err_wlshutdown; 3544 goto err_wlshutdown;
3545 err = bcm43xx_rng_init(bcm);
3546 if (err)
3547 goto err_sysfs_unreg;
3544 3548
3545 /*FIXME: This should be handled by softmac instead. */ 3549 /*FIXME: This should be handled by softmac instead. */
3546 schedule_work(&bcm->softmac->associnfo.work); 3550 schedule_work(&bcm->softmac->associnfo.work);
@@ -3550,6 +3554,8 @@ out:
3550 3554
3551 return err; 3555 return err;
3552 3556
3557err_sysfs_unreg:
3558 bcm43xx_sysfs_unregister(bcm);
3553err_wlshutdown: 3559err_wlshutdown:
3554 bcm43xx_shutdown_all_wireless_cores(bcm); 3560 bcm43xx_shutdown_all_wireless_cores(bcm);
3555err_crystal_off: 3561err_crystal_off: