iwlwifi: mvm: don't send zero quota to the firmware
authorJohannes Berg <johannes.berg@intel.com>
Fri, 23 May 2014 14:15:11 +0000 (16:15 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Mon, 7 Jul 2014 18:41:14 +0000 (21:41 +0300)
There are some cases where we can currently send zero quota
for a valid binding, e.g. if we update while an interface is
bound to a channel context but not yet acting as an AP.

Avoid this by reordering the checks.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/quota.c

index 75d2c95b4076eafbe11b8b6bb7249fb66665b0cf..8bb2fced0811b12e716f006257a9640a13df6d3c 100644 (file)
@@ -105,11 +105,6 @@ static void iwl_mvm_quota_iterator(void *_data, u8 *mac,
        if (WARN_ON_ONCE(id >= MAX_BINDINGS))
                return;
 
-       if (data->colors[id] < 0)
-               data->colors[id] = mvmvif->phy_ctxt->color;
-       else
-               WARN_ON_ONCE(data->colors[id] != mvmvif->phy_ctxt->color);
-
        if (data->type == IWL_MVM_QUOTA_UPDATE_TYPE_DISABLED &&
            vif == data->vif)
                return;
@@ -135,6 +130,11 @@ static void iwl_mvm_quota_iterator(void *_data, u8 *mac,
                return;
        }
 
+       if (data->colors[id] < 0)
+               data->colors[id] = mvmvif->phy_ctxt->color;
+       else
+               WARN_ON_ONCE(data->colors[id] != mvmvif->phy_ctxt->color);
+
        data->n_interfaces[id]++;
 
        if (iwl_mvm_vif_low_latency(mvmvif) && !data->low_latency[id]) {