Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4ab5432 authored by Jarek Poplawski's avatar Jarek Poplawski Committed by David S. Miller
Browse files

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: default avatarJarek Poplawski <jarkao2@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cd07a8ea
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -90,10 +90,7 @@ extern void __qdisc_run(struct Qdisc *q);

static inline void qdisc_run(struct Qdisc *q)
{
	struct netdev_queue *txq = q->dev_queue;

	if (!netif_tx_queue_stopped(txq) &&
	    !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state))
	if (!test_and_set_bit(__QDISC_STATE_RUNNING, &q->state))
		__qdisc_run(q);
}