Przeglądaj źródła

iwlwifi: mvm: don't pass update type to quota iterator

Simplify the quota iterator by not passing the update type,
it only needs to know whether or not to skip an interface.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Johannes Berg 11 lat temu
rodzic
commit
494983e0e7
1 zmienionych plików z 5 dodań i 11 usunięć
  1. 5 11
      drivers/net/wireless/iwlwifi/mvm/quota.c

+ 5 - 11
drivers/net/wireless/iwlwifi/mvm/quota.c

@@ -73,8 +73,7 @@ struct iwl_mvm_quota_iterator_data {
 	int colors[MAX_BINDINGS];
 	int low_latency[MAX_BINDINGS];
 	int n_low_latency_bindings;
-	struct ieee80211_vif *vif;
-	enum iwl_mvm_quota_update_type type;
+	struct ieee80211_vif *skip_vif;
 };
 
 static void iwl_mvm_quota_iterator(void *_data, u8 *mac,
@@ -89,8 +88,9 @@ static void iwl_mvm_quota_iterator(void *_data, u8 *mac,
 	 * skip it here in case we're not called from within
 	 * the add_interface callback (otherwise it won't show
 	 * up in iteration)
+	 * Also skip disabled interfaces here immediately.
 	 */
-	if (data->type == IWL_MVM_QUOTA_UPDATE_TYPE_NEW && vif == data->vif)
+	if (vif == data->skip_vif)
 		return;
 
 	if (!mvmvif->phy_ctxt)
@@ -105,10 +105,6 @@ static void iwl_mvm_quota_iterator(void *_data, u8 *mac,
 	if (WARN_ON_ONCE(id >= MAX_BINDINGS))
 		return;
 
-	if (data->type == IWL_MVM_QUOTA_UPDATE_TYPE_DISABLED &&
-	    vif == data->vif)
-		return;
-
 	switch (vif->type) {
 	case NL80211_IFTYPE_STATION:
 		if (vif->bss_conf.assoc)
@@ -184,8 +180,7 @@ int iwl_mvm_update_quotas(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
 	struct iwl_mvm_quota_iterator_data data = {
 		.n_interfaces = {},
 		.colors = { -1, -1, -1, -1 },
-		.vif = vif,
-		.type = type,
+		.skip_vif = vif,
 	};
 
 	lockdep_assert_held(&mvm->mutex);
@@ -205,8 +200,7 @@ int iwl_mvm_update_quotas(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
 		mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
 		iwl_mvm_quota_iterator, &data);
 	if (type == IWL_MVM_QUOTA_UPDATE_TYPE_NEW) {
-		data.vif = NULL;
-		data.type = IWL_MVM_QUOTA_UPDATE_TYPE_REGULAR;
+		data.skip_vif = NULL;
 		iwl_mvm_quota_iterator(&data, vif->addr, vif);
 	}