Commit f4ab543201992fe499bef5c406e09f23aa97b4d5
Committed by
David S. Miller
1 parent
cd07a8ea0d
Exists in
master
and in
7 other branches
pkt_sched: Remove the tx queue state check in qdisc_run()
The current check wrongly uses the state of one (currently the first) tx queue for all tx queues in case of non-default qdiscs. This check mainly prevented requeuing loop with __netif_schedule(), but now it's controlled inside __qdisc_run(), while dequeuing. The wrongness of this check was first noticed by Herbert Xu. Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 1 additions and 4 deletions Side-by-side Diff
include/net/pkt_sched.h
... | ... | @@ -90,10 +90,7 @@ |
90 | 90 | |
91 | 91 | static inline void qdisc_run(struct Qdisc *q) |
92 | 92 | { |
93 | - struct netdev_queue *txq = q->dev_queue; | |
94 | - | |
95 | - if (!netif_tx_queue_stopped(txq) && | |
96 | - !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) | |
93 | + if (!test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) | |
97 | 94 | __qdisc_run(q); |
98 | 95 | } |
99 | 96 |