iwlwifi: mvm: clarify time event end handling
authorJohannes Berg <johannes.berg@intel.com>
Wed, 11 Mar 2015 19:27:06 +0000 (20:27 +0100)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Thu, 12 Mar 2015 07:57:47 +0000 (09:57 +0200)
The code here is a little confusing, the iwl_mvm_te_check_disconnect()
will check that the interface is a station, but going into it after
already having processed the time even end for P2P seems strange at
first look.

Put a switch statement there to distinguish the interface types and
make this more readable.

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

index 54fafbf..1dbfcc4 100644 (file)
@@ -261,17 +261,23 @@ static void iwl_mvm_te_handle_notif(struct iwl_mvm *mvm,
                             "TE ended - current time %lu, estimated end %lu\n",
                             jiffies, te_data->end_jiffies);
 
-               if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE) {
+               switch (te_data->vif->type) {
+               case NL80211_IFTYPE_P2P_DEVICE:
                        ieee80211_remain_on_channel_expired(mvm->hw);
                        iwl_mvm_roc_finished(mvm);
+                       break;
+               case NL80211_IFTYPE_STATION:
+                       /*
+                        * By now, we should have finished association
+                        * and know the dtim period.
+                        */
+                       iwl_mvm_te_check_disconnect(mvm, te_data->vif,
+                               "No association and the time event is over already...");
+                       break;
+               default:
+                       break;
                }
 
-               /*
-                * By now, we should have finished association
-                * and know the dtim period.
-                */
-               iwl_mvm_te_check_disconnect(mvm, te_data->vif,
-                       "No association and the time event is over already...");
                iwl_mvm_te_clear_data(mvm, te_data);
        } else if (le32_to_cpu(notif->action) & TE_V2_NOTIF_HOST_EVENT_START) {
                te_data->running = true;