rtlwifi: Fix use of mutex in interrupt code
A previous conversion from semaphoreto mutexes missed the fact that one of the semaphores was used in interrupt code. Fixed by changing to a spinlock. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
f0b3e4b730
commit
d704300fa5
@@ -286,8 +286,9 @@ void rtl_ips_nic_on(struct ieee80211_hw *hw)
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
|
||||
enum rf_pwrstate rtstate;
|
||||
unsigned long flags;
|
||||
|
||||
mutex_lock(&rtlpriv->locks.ips_mutex);
|
||||
spin_lock_irqsave(&rtlpriv->locks.ips_lock, flags);
|
||||
|
||||
if (ppsc->b_inactiveps) {
|
||||
rtstate = ppsc->rfpwr_state;
|
||||
@@ -303,7 +304,7 @@ void rtl_ips_nic_on(struct ieee80211_hw *hw)
|
||||
}
|
||||
}
|
||||
|
||||
mutex_unlock(&rtlpriv->locks.ips_mutex);
|
||||
spin_unlock_irqrestore(&rtlpriv->locks.ips_lock, flags);
|
||||
}
|
||||
|
||||
/*for FW LPS*/
|
||||
|
Reference in New Issue
Block a user