From 6539306b2c3ceafbc4094cf68c58094c282da053 Mon Sep 17 00:00:00 2001 From: Stanislaw Gruszka Date: Mon, 12 Dec 2011 12:43:24 +0100 Subject: rtlwifi: merge ips,lps spinlocks into one mutex With previous patch "rtlwifi: use work for lps" we can now use mutex for protecting ps mode changing critical sections. This fixes running system with interrupts disabled for long time. Merge ips_lock and lps_lock as they seems to protect the same data structures (accessed in rtl_ps_set_rf_state() function). Reported-by: Philipp Dreimann Tested-by: Larry Finger Cc: Mike McCormack Cc: Chaoming Li Signed-off-by: Stanislaw Gruszka Signed-off-by: Larry Finger Tested-by: Tim Gardner Signed-off-by: John W. Linville --- drivers/net/wireless/rtlwifi/base.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'drivers/net/wireless/rtlwifi/base.c') diff --git a/drivers/net/wireless/rtlwifi/base.c b/drivers/net/wireless/rtlwifi/base.c index a13ecfce4825..d81a6021a30f 100644 --- a/drivers/net/wireless/rtlwifi/base.c +++ b/drivers/net/wireless/rtlwifi/base.c @@ -448,12 +448,11 @@ int rtl_init_core(struct ieee80211_hw *hw) /* <4> locks */ mutex_init(&rtlpriv->locks.conf_mutex); - spin_lock_init(&rtlpriv->locks.ips_lock); + mutex_init(&rtlpriv->locks.ps_mutex); spin_lock_init(&rtlpriv->locks.irq_th_lock); spin_lock_init(&rtlpriv->locks.h2c_lock); spin_lock_init(&rtlpriv->locks.rf_ps_lock); spin_lock_init(&rtlpriv->locks.rf_lock); - spin_lock_init(&rtlpriv->locks.lps_lock); spin_lock_init(&rtlpriv->locks.waitq_lock); spin_lock_init(&rtlpriv->locks.cck_and_rw_pagea_lock); -- cgit