diff options
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx_main.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c index bad3452ea893..0f047d42158f 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c | |||
@@ -3164,12 +3164,12 @@ static void bcm43xx_periodic_work_handler(void *d) | |||
3164 | u32 savedirqs = 0; | 3164 | u32 savedirqs = 0; |
3165 | int badness; | 3165 | int badness; |
3166 | 3166 | ||
3167 | mutex_lock(&bcm->mutex); | ||
3167 | badness = estimate_periodic_work_badness(bcm->periodic_state); | 3168 | badness = estimate_periodic_work_badness(bcm->periodic_state); |
3168 | if (badness > BADNESS_LIMIT) { | 3169 | if (badness > BADNESS_LIMIT) { |
3169 | /* Periodic work will take a long time, so we want it to | 3170 | /* Periodic work will take a long time, so we want it to |
3170 | * be preemtible. | 3171 | * be preemtible. |
3171 | */ | 3172 | */ |
3172 | mutex_lock(&bcm->mutex); | ||
3173 | netif_tx_disable(bcm->net_dev); | 3173 | netif_tx_disable(bcm->net_dev); |
3174 | spin_lock_irqsave(&bcm->irq_lock, flags); | 3174 | spin_lock_irqsave(&bcm->irq_lock, flags); |
3175 | bcm43xx_mac_suspend(bcm); | 3175 | bcm43xx_mac_suspend(bcm); |
@@ -3182,7 +3182,6 @@ static void bcm43xx_periodic_work_handler(void *d) | |||
3182 | /* Periodic work should take short time, so we want low | 3182 | /* Periodic work should take short time, so we want low |
3183 | * locking overhead. | 3183 | * locking overhead. |
3184 | */ | 3184 | */ |
3185 | mutex_lock(&bcm->mutex); | ||
3186 | spin_lock_irqsave(&bcm->irq_lock, flags); | 3185 | spin_lock_irqsave(&bcm->irq_lock, flags); |
3187 | } | 3186 | } |
3188 | 3187 | ||