diff mbox

[01/14] rtlwifi: Correct power save capability while init mac80211

Message ID 20161202014833.6856-2-Larry.Finger@lwfinger.net (mailing list archive)
State Changes Requested
Delegated to: Kalle Valo
Headers show

Commit Message

Larry Finger Dec. 2, 2016, 1:48 a.m. UTC
Set IEEE80211_HW_SUPPORTS_PS when driver is fwlps
Because mac80211 control SW-LPS only, we add constraints to avoid errors.

Signed-off-by: Vincent Fann <vincent_fann@realtek.com>
Signed-off-by: shaofu <shaofu@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---
 drivers/net/wireless/realtek/rtlwifi/base.c | 2 ++
 drivers/net/wireless/realtek/rtlwifi/core.c | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

Comments

Kalle Valo Dec. 30, 2016, 1:10 p.m. UTC | #1
Larry Finger <Larry.Finger@lwfinger.net> wrote:
> Set IEEE80211_HW_SUPPORTS_PS when driver is fwlps
> Because mac80211 control SW-LPS only, we add constraints to avoid errors.
> 
> Signed-off-by: Vincent Fann <vincent_fann@realtek.com>
> Signed-off-by: shaofu <shaofu@realtek.com>
> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>

Dropped per Larry's request.

14 patches set to Changes Requested.

9457587 [01/14] rtlwifi: Correct power save capability while init mac80211
9457609 [02/14] rtlwifi: Fix programing CAM content sequence.
9457607 [03/14] rtlwifi: Set retry limit depends on vif type.
9457601 [03/14] rtlwifi: extend debug_comp to u64
9457613 [05/14] rtlwifi: Add TX report and disable key will wait until report acked.
9457611 [06/14] rtlwifi: rtl8723be: btcoexist: Add single_ant_path
9457589 [07/14] rtlwifi: move btcoex's ant_num declaration
9457603 [08/14] rtlwifi: rtl8723be: btcoex: add package_type function to btcoex
9457593 [09/14] rtlwifi: ibtcoex: move bt_type declaration
9457591 [10/14] rtlwifi: Add BTC_TRACE_STRING to new btcoex
9457605 [11/14] rtlwifi: Add a new enumeration value to btc_set_type
9457595 [12/14] rtlwifi: btcoexist: Add vendor definition for new btcoexist
9457597 [13/14] rtlwifi: rtl8723be: fix ant_sel code
9457599 [14/14] rtlwifi: Add work queue for c2h cmd.
diff mbox

Patch

diff --git a/drivers/net/wireless/realtek/rtlwifi/base.c b/drivers/net/wireless/realtek/rtlwifi/base.c
index 4ac928b..fa2d26a 100644
--- a/drivers/net/wireless/realtek/rtlwifi/base.c
+++ b/drivers/net/wireless/realtek/rtlwifi/base.c
@@ -406,6 +406,8 @@  static void _rtl_init_mac80211(struct ieee80211_hw *hw)
 		ieee80211_hw_set(hw, SUPPORTS_PS);
 		ieee80211_hw_set(hw, PS_NULLFUNC_STACK);
 	}
+	if (rtlpriv->psc.fwctrl_lps)
+		ieee80211_hw_set(hw, SUPPORTS_PS);
 	hw->wiphy->interface_modes =
 	    BIT(NL80211_IFTYPE_AP) |
 	    BIT(NL80211_IFTYPE_STATION) |
diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c
index 2caa4ad..7c2ac24 100644
--- a/drivers/net/wireless/realtek/rtlwifi/core.c
+++ b/drivers/net/wireless/realtek/rtlwifi/core.c
@@ -620,7 +620,8 @@  static int rtl_op_config(struct ieee80211_hw *hw, u32 changed)
 	}
 
 	/*For LPS */
-	if (changed & IEEE80211_CONF_CHANGE_PS) {
+	if ((changed & IEEE80211_CONF_CHANGE_PS) &&
+	    rtlpriv->psc.swctrl_lps && !rtlpriv->psc.fwctrl_lps) {
 		cancel_delayed_work(&rtlpriv->works.ps_work);
 		cancel_delayed_work(&rtlpriv->works.ps_rfon_wq);
 		if (conf->flags & IEEE80211_CONF_PS) {