diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-08 23:12:38 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-08 23:12:38 -0700 |
commit | eb6aafe3f843cb0e939546c03540a3b4911b6964 (patch) | |
tree | 550cfba4baadcb64f98ce6e77fe6f9b44b5bb142 /include/net/pkt_sched.h | |
parent | 86d804e10a37cd86f16bf72386c37e843a98a74b (diff) | |
download | linux-eb6aafe3f843cb0e939546c03540a3b4911b6964.tar.gz linux-eb6aafe3f843cb0e939546c03540a3b4911b6964.tar.bz2 linux-eb6aafe3f843cb0e939546c03540a3b4911b6964.zip |
pkt_sched: Make qdisc_run take a netdev_queue.
This allows us to use this calling convention all the way down into
qdisc_restart().
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/pkt_sched.h')
-rw-r--r-- | include/net/pkt_sched.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h index 8e3a0c4e9d97..2311d242bb35 100644 --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h @@ -84,13 +84,15 @@ extern struct qdisc_rate_table *qdisc_get_rtab(struct tc_ratespec *r, struct nlattr *tab); extern void qdisc_put_rtab(struct qdisc_rate_table *tab); -extern void __qdisc_run(struct net_device *dev); +extern void __qdisc_run(struct netdev_queue *txq); -static inline void qdisc_run(struct net_device *dev) +static inline void qdisc_run(struct netdev_queue *txq) { + struct net_device *dev = txq->dev; + if (!netif_queue_stopped(dev) && !test_and_set_bit(__LINK_STATE_QDISC_RUNNING, &dev->state)) - __qdisc_run(dev); + __qdisc_run(txq); } extern int tc_classify_compat(struct sk_buff *skb, struct tcf_proto *tp, |