diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-tx.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-tx.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c index a81989c06983..c308dab14673 100644 --- a/drivers/net/wireless/iwlwifi/iwl-tx.c +++ b/drivers/net/wireless/iwlwifi/iwl-tx.c | |||
@@ -422,6 +422,7 @@ int iwl_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd) | |||
422 | int len; | 422 | int len; |
423 | u32 idx; | 423 | u32 idx; |
424 | u16 fix_size; | 424 | u16 fix_size; |
425 | bool is_ct_kill = false; | ||
425 | 426 | ||
426 | cmd->len = priv->cfg->ops->utils->get_hcmd_size(cmd->id, cmd->len); | 427 | cmd->len = priv->cfg->ops->utils->get_hcmd_size(cmd->id, cmd->len); |
427 | fix_size = (u16)(cmd->len + sizeof(out_cmd->hdr)); | 428 | fix_size = (u16)(cmd->len + sizeof(out_cmd->hdr)); |
@@ -443,9 +444,11 @@ int iwl_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd) | |||
443 | 444 | ||
444 | if (iwl_queue_space(q) < ((cmd->flags & CMD_ASYNC) ? 2 : 1)) { | 445 | if (iwl_queue_space(q) < ((cmd->flags & CMD_ASYNC) ? 2 : 1)) { |
445 | IWL_ERR(priv, "No space in command queue\n"); | 446 | IWL_ERR(priv, "No space in command queue\n"); |
446 | if (iwl_within_ct_kill_margin(priv)) | 447 | if (priv->cfg->ops->lib->tt_ops.ct_kill_check) { |
447 | iwl_tt_enter_ct_kill(priv); | 448 | is_ct_kill = |
448 | else { | 449 | priv->cfg->ops->lib->tt_ops.ct_kill_check(priv); |
450 | } | ||
451 | if (!is_ct_kill) { | ||
449 | IWL_ERR(priv, "Restarting adapter due to queue full\n"); | 452 | IWL_ERR(priv, "Restarting adapter due to queue full\n"); |
450 | queue_work(priv->workqueue, &priv->restart); | 453 | queue_work(priv->workqueue, &priv->restart); |
451 | } | 454 | } |