From a95338b0b2563c2fedeca417c95748855c16f6b5 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 13 Aug 2008 02:13:34 -0700 Subject: [PATCH] --- yaml --- r: 108373 b: refs/heads/master c: 83f36f3f35f4f83fa346bfff58a5deabc78370e5 h: refs/heads/master i: 108371: 80394fe28abe4984cd2e879b7e4da2c33a50b8ab v: v3 --- [refs] | 2 +- trunk/include/net/pkt_sched.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index a24f84c564de..1d05bbf374e7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5e0115e500fe9dd2ca11e6f92db9123204f1327a +refs/heads/master: 83f36f3f35f4f83fa346bfff58a5deabc78370e5 diff --git a/trunk/include/net/pkt_sched.h b/trunk/include/net/pkt_sched.h index 6affcfaa123e..853fe83d9f37 100644 --- a/trunk/include/net/pkt_sched.h +++ b/trunk/include/net/pkt_sched.h @@ -89,7 +89,10 @@ extern void __qdisc_run(struct Qdisc *q); static inline void qdisc_run(struct Qdisc *q) { - if (!test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) + struct netdev_queue *txq = q->dev_queue; + + if (!netif_tx_queue_stopped(txq) && + !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) __qdisc_run(q); }