diff options
Diffstat (limited to 'drivers/net/wireless/rtlwifi/ps.c')
-rw-r--r-- | drivers/net/wireless/rtlwifi/ps.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/rtlwifi/ps.c b/drivers/net/wireless/rtlwifi/ps.c index 22c293e5b88..d2326c13449 100644 --- a/drivers/net/wireless/rtlwifi/ps.c +++ b/drivers/net/wireless/rtlwifi/ps.c | |||
@@ -286,8 +286,9 @@ void rtl_ips_nic_on(struct ieee80211_hw *hw) | |||
286 | struct rtl_priv *rtlpriv = rtl_priv(hw); | 286 | struct rtl_priv *rtlpriv = rtl_priv(hw); |
287 | struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); | 287 | struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); |
288 | enum rf_pwrstate rtstate; | 288 | enum rf_pwrstate rtstate; |
289 | unsigned long flags; | ||
289 | 290 | ||
290 | mutex_lock(&rtlpriv->locks.ips_mutex); | 291 | spin_lock_irqsave(&rtlpriv->locks.ips_lock, flags); |
291 | 292 | ||
292 | if (ppsc->b_inactiveps) { | 293 | if (ppsc->b_inactiveps) { |
293 | rtstate = ppsc->rfpwr_state; | 294 | rtstate = ppsc->rfpwr_state; |
@@ -303,7 +304,7 @@ void rtl_ips_nic_on(struct ieee80211_hw *hw) | |||
303 | } | 304 | } |
304 | } | 305 | } |
305 | 306 | ||
306 | mutex_unlock(&rtlpriv->locks.ips_mutex); | 307 | spin_unlock_irqrestore(&rtlpriv->locks.ips_lock, flags); |
307 | } | 308 | } |
308 | 309 | ||
309 | /*for FW LPS*/ | 310 | /*for FW LPS*/ |