Skip to content

Commit

Permalink
ath10k: fix tx hang
Browse files Browse the repository at this point in the history
The wake_tx_queue/push_pending logic had a bug
which could stop queues indefinitely effectivelly
breaking traffic.

Fixes: 2994687 ("ath10k: implement wake_tx_queue")
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
  • Loading branch information
Michal Kazior authored and Kalle Valo committed Mar 21, 2016
1 parent bf031bc commit 9d71d47
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/net/wireless/ath/ath10k/mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -3777,13 +3777,13 @@ void ath10k_mac_tx_push_pending(struct ath10k *ar)
}

list_del_init(&artxq->list);
if (ret != -ENOENT)
list_add_tail(&artxq->list, &ar->txqs);

ath10k_htt_tx_txq_update(hw, txq);

if (artxq == last || (ret < 0 && ret != -ENOENT)) {
if (ret != -ENOENT)
list_add_tail(&artxq->list, &ar->txqs);
if (artxq == last || (ret < 0 && ret != -ENOENT))
break;
}
}

rcu_read_unlock();
Expand Down

0 comments on commit 9d71d47

Please sign in to comment.