Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 833d9b97 authored by Andrei Otcheretianski's avatar Andrei Otcheretianski Committed by Emmanuel Grumbach
Browse files

iwlwifi: mvm: Fix ROC removal



iwl_mvm_stop_roc removes TE only if running flag is set. This is not correct
since this flag is only set when the TE is started.
This resulted in a TE not being removed, when mac80211 believes that there are
no active ROCs.

Fixes: bf5da87f ("iwlwifi: mvm: add remove flow for AUX ROC time events")
Signed-off-by: default avatarAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Reviewed-by: default avatarMatti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent e7d3abab
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -750,8 +750,7 @@ void iwl_mvm_stop_roc(struct iwl_mvm *mvm)
	 * request
	 */
	list_for_each_entry(te_data, &mvm->time_event_list, list) {
		if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE &&
		    te_data->running) {
		if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE) {
			mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif);
			is_p2p = true;
			goto remove_te;
@@ -766,11 +765,9 @@ void iwl_mvm_stop_roc(struct iwl_mvm *mvm)
	 * request
	 */
	list_for_each_entry(te_data, &mvm->aux_roc_te_list, list) {
		if (te_data->running) {
		mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif);
		goto remove_te;
	}
	}

remove_te:
	spin_unlock_bh(&mvm->time_event_lock);