wifi: iwlwifi: mvm: add an indication that the new MLD API is used
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Tue, 28 Mar 2023 07:58:43 +0000 (10:58 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 30 Mar 2023 10:07:52 +0000 (12:07 +0200)
WE can't mix between the new MLD API and the old API.
I.e. - we can't send one of the new cmds and then one of the old ones.
This will cause a FW assert. So we need an indication what API should be
used. We use the new API if:
1. FW supports it
2. We are registered to mac80211 with the new MLD ops
Add an indication which will only be true if both conditions are true.

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230328104948.5756b0907403.I0adce36d1783cce23d0e080e3c4a8953db33b515@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
drivers/net/wireless/intel/iwlwifi/mvm/ops.c

index 72056cccc77ed4569835c9c24024b741a8737b95..443f0b80b63e191ff70e687d876eddd099aa58df 100644 (file)
@@ -1155,6 +1155,7 @@ struct iwl_mvm {
        unsigned long last_reset_or_resume_time_jiffies;
 
        bool sta_remove_requires_queue_remove;
+       bool mld_api_is_used;
 
        bool pldr_sync;
 
index 70926bb1df6c5adbb232c893624598f127d01070..5c8784ddfa666c54abe5ed95a350e9c6bfeb776b 100644 (file)
@@ -1295,6 +1295,9 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
        mvm->sta_remove_requires_queue_remove =
                trans_cfg.queue_alloc_cmd_ver > 0;
 
+       /* Until we register with the MLD ops - we don't use the MLD API */
+       mvm->mld_api_is_used = false;
+
        /* Configure transport layer */
        iwl_trans_configure(mvm->trans, &trans_cfg);