iwlwifi: add sta_id to WOWLAN_CONFIG_CMD
authorHaim Dreyfuss <haim.dreyfuss@intel.com>
Tue, 16 Jul 2019 09:44:40 +0000 (12:44 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 6 Sep 2019 12:52:05 +0000 (15:52 +0300)
WoWlan feature within the FW uses the station id for various of reasons.
Thus we need to add this information to the command.

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/api/d3.h
drivers/net/wireless/intel/iwlwifi/mvm/d3.c

index 31231b2..4c3219e 100644 (file)
@@ -396,6 +396,7 @@ enum iwl_wowlan_flags {
  * @is_11n_connection: indicates HT connection
  * @offloading_tid: TID reserved for firmware use
  * @flags: extra flags, see &enum iwl_wowlan_flags
+ * @sta_id: station ID for wowlan.
  * @reserved: reserved
  */
 struct iwl_wowlan_config_cmd {
@@ -406,8 +407,9 @@ struct iwl_wowlan_config_cmd {
        u8 is_11n_connection;
        u8 offloading_tid;
        u8 flags;
-       u8 reserved[2];
-} __packed; /* WOWLAN_CONFIG_API_S_VER_4 */
+       u8 sta_id;
+       u8 reserved;
+} __packed; /* WOWLAN_CONFIG_API_S_VER_5 */
 
 /*
  * WOWLAN_TSC_RSC_PARAMS
index 66d610a..86c2c58 100644 (file)
@@ -904,6 +904,8 @@ iwl_mvm_netdetect_config(struct iwl_mvm *mvm,
                wowlan_config_cmd.wakeup_filter |=
                        cpu_to_le32(IWL_WOWLAN_WAKEUP_RF_KILL_DEASSERT);
 
+       wowlan_config_cmd.sta_id = mvm->aux_sta.sta_id;
+
        ret = iwl_mvm_send_cmd_pdu(mvm, WOWLAN_CONFIGURATION, 0,
                                   sizeof(wowlan_config_cmd),
                                   &wowlan_config_cmd);
@@ -1011,6 +1013,8 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
        } else {
                struct iwl_wowlan_config_cmd wowlan_config_cmd = {};
 
+               wowlan_config_cmd.sta_id = mvmvif->ap_sta_id;
+
                ap_sta = rcu_dereference_protected(
                        mvm->fw_id_to_mac_id[mvmvif->ap_sta_id],
                        lockdep_is_held(&mvm->mutex));