rtlwifi: Remove extra workqueue for enter/leave power state

When the rtlwifi family of drivers was converted to use a workqueue when
entering or leaving power save mode (commits a269913c52, a5ffbe0a19,
41affd5286, b9116b9a2b, and 6539306b2c), the code began scheduling work from
the callback routine of a different workqueue with a resulting increase in
overhead.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Larry Finger 2014-09-22 09:39:18 -05:00 committed by John W. Linville
parent 560e334dbd
commit fd09ff9587

View File

@ -1401,12 +1401,9 @@ void rtl_watchdog_wq_callback(void *data)
if (((rtlpriv->link_info.num_rx_inperiod +
rtlpriv->link_info.num_tx_inperiod) > 8) ||
(rtlpriv->link_info.num_rx_inperiod > 2))
rtlpriv->enter_ps = true;
rtl_lps_enter(hw);
else
rtlpriv->enter_ps = false;
/* LeisurePS only work in infra mode. */
schedule_work(&rtlpriv->works.lps_change_work);
rtl_lps_leave(hw);
}
rtlpriv->link_info.num_rx_inperiod = 0;