]> git.hungrycats.org Git - linux/commitdiff
rtlwifi: Fix logic error in enter/exit power-save mode
authorSasha Levin <sasha.levin@oracle.com>
Wed, 1 Jun 2016 01:04:01 +0000 (21:04 -0400)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 6 Jun 2016 23:11:03 +0000 (19:11 -0400)
[ Upstream commit 873ffe154ae074c46ed2d72dbd9a2a99f06f55b4 ]

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>
CC: Stable <stable@vger.kernel.org> [3.10+]
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/net/wireless/rtlwifi/base.c

index af2486965782d4984c5ff70307c98ee84c34c31e..339f94e72555d72ca731e7a992b06b4a57a7fa19 100644 (file)
@@ -1587,9 +1587,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;