iwlwifi: dvm: fix delayed enter to CT-kill bug
authorEytan Lifshitz <eytan.lifshitz@intel.com>
Fri, 15 Feb 2013 14:31:45 +0000 (16:31 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 18 Feb 2013 19:19:01 +0000 (20:19 +0100)
Theoretically, the card may not enter CTKILL:
In case the timer that iwl_prepare_ct_kill_task is setting,
will expire before tt->state revert to its previous state.

Signed-off-by: Eytan Lifshitz <eytan.lifshitz@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/iwlwifi/dvm/tt.c

index 67e2e1321b407cb2a1afd75ddd4ae2dac11123cc..03f9bc01c0ccff9a53c020a1256f9b2c1a393be5 100644 (file)
@@ -471,8 +471,8 @@ static void iwl_advance_tt_handler(struct iwl_priv *priv, s32 temp, bool force)
                                        set_bit(STATUS_CT_KILL, &priv->status);
                                        iwl_perform_ct_kill_task(priv, true);
                                } else {
-                                       iwl_prepare_ct_kill_task(priv);
                                        tt->state = old_state;
+                                       iwl_prepare_ct_kill_task(priv);
                                }
                        } else if (old_state == IWL_TI_CT_KILL &&
                                  tt->state != IWL_TI_CT_KILL) {