rtlwifi: Initialize power-setting callback for USB devices
Commit a269913c5 entitled "rtlwifi: Rework rtl_lps_leave() and
rtl_lps_enter() to use work queue" has two bugs for USB drivers.
Firstly, the work queue in question was not initialized. Secondly,
the callback routine used by this queue is contained within the
file used for PCI devices. As a result, it is not available for
architectures without PCI hardware.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Reported-by: Richard Genoud <richard.genoud@gmail.com>
Tested-by: Richard Genoud <richard.genoud@gmail.com>
Cc: Richard Genoud <richard.genoud@gmail.com>
Cc: Stable <stable@vger.kernel.org> [3.10]
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
ad81f0545e
commit
bcfb879432
@@ -611,6 +611,18 @@ void rtl_swlps_rf_sleep(struct ieee80211_hw *hw)
|
||||
MSECS(sleep_intv * mac->vif->bss_conf.beacon_int - 40));
|
||||
}
|
||||
|
||||
void rtl_lps_change_work_callback(struct work_struct *work)
|
||||
{
|
||||
struct rtl_works *rtlworks =
|
||||
container_of(work, struct rtl_works, lps_change_work);
|
||||
struct ieee80211_hw *hw = rtlworks->hw;
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
|
||||
if (rtlpriv->enter_ps)
|
||||
rtl_lps_enter(hw);
|
||||
else
|
||||
rtl_lps_leave(hw);
|
||||
}
|
||||
|
||||
void rtl_swlps_wq_callback(void *data)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user