| From 873ffe154ae074c46ed2d72dbd9a2a99f06f55b4 Mon Sep 17 00:00:00 2001 |
| From: wang yanqing <udknight@gmail.com> |
| Date: Tue, 3 May 2016 00:38:36 +0800 |
| Subject: rtlwifi: Fix logic error in enter/exit power-save mode |
| |
| From: wang yanqing <udknight@gmail.com> |
| |
| commit 873ffe154ae074c46ed2d72dbd9a2a99f06f55b4 upstream. |
| |
| In commit a269913c52ad ("rtlwifi: Rework rtl_lps_leave() and |
| rtl_lps_enter() to use work queue"), the tests for enter/exit |
| power-save mode were inverted. With this change applied, the |
| wifi connection becomes much more stable. |
| |
| Fixes: a269913c52ad ("rtlwifi: Rework rtl_lps_leave() and rtl_lps_enter() to use work queue") |
| Signed-off-by: Wang YanQing <udknight@gmail.com> |
| Acked-by: Larry Finger <Larry.Finger@lwfinger.net> |
| Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/net/wireless/realtek/rtlwifi/base.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/net/wireless/realtek/rtlwifi/base.c |
| +++ b/drivers/net/wireless/realtek/rtlwifi/base.c |
| @@ -1660,9 +1660,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)) |
| - rtl_lps_enter(hw); |
| - else |
| rtl_lps_leave(hw); |
| + else |
| + rtl_lps_enter(hw); |
| } |
| |
| rtlpriv->link_info.num_rx_inperiod = 0; |