iwlwifi: mvm: remove time-event start/end failure warning
authorJohannes Berg <johannes.berg@intel.com>
Thu, 12 Mar 2015 08:10:13 +0000 (09:10 +0100)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 18 Mar 2015 06:42:13 +0000 (08:42 +0200)
This warning is misleading. In many cases, for example P2P ROC time
events, this will happen if the time event is aborted, for example
due to a higher priority time event. This is entirely normal and not
worth warning about.

In other cases, where we actually do act upon this, for example when
trying to connect and this fails, we should instead warn as part of
the disconnect operation.

Change the code to do that, i.e. make the warning a debug message,
and make it more prominent (an error) when we actually disconnect
because of it.

This also fixes confusion in the logs - the warning was mistaken for
something that needed investigation, while in most cases it's just
expected behaviour that occasionally some lower-priority time events
would not complete fully.

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 98c8d70c90d2b8e6f6a5f48daae01280e44165bf..a32f612a8b59212f1b87a09daacfc76def54711f 100644 (file)
@@ -252,11 +252,16 @@ static void iwl_mvm_te_handle_notif(struct iwl_mvm *mvm,
         * events in the system).
         */
        if (!le32_to_cpu(notif->status)) {
-               bool start = le32_to_cpu(notif->action) &
-                               TE_V2_NOTIF_HOST_EVENT_START;
-               IWL_WARN(mvm, "Time Event %s notification failure\n",
-                        start ? "start" : "end");
-               if (iwl_mvm_te_check_disconnect(mvm, te_data->vif, NULL)) {
+               const char *msg;
+
+               if (notif->action & cpu_to_le32(TE_V2_NOTIF_HOST_EVENT_START))
+                       msg = "Time Event start notification failure";
+               else
+                       msg = "Time Event end notification failure";
+
+               IWL_DEBUG_TE(mvm, "%s\n", msg);
+
+               if (iwl_mvm_te_check_disconnect(mvm, te_data->vif, msg)) {
                        iwl_mvm_te_clear_data(mvm, te_data);
                        return;
                }