diff options
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/pkt_sched.h | 4 | ||||
-rw-r--r-- | include/net/sch_generic.h | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h index cb9527815606..06a442d85186 100644 --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h | |||
@@ -88,8 +88,10 @@ extern void __qdisc_run(struct netdev_queue *txq); | |||
88 | 88 | ||
89 | static inline void qdisc_run(struct netdev_queue *txq) | 89 | static inline void qdisc_run(struct netdev_queue *txq) |
90 | { | 90 | { |
91 | struct Qdisc *q = txq->qdisc; | ||
92 | |||
91 | if (!netif_tx_queue_stopped(txq) && | 93 | if (!netif_tx_queue_stopped(txq) && |
92 | !test_and_set_bit(__QUEUE_STATE_QDISC_RUNNING, &txq->state)) | 94 | !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) |
93 | __qdisc_run(txq); | 95 | __qdisc_run(txq); |
94 | } | 96 | } |
95 | 97 | ||
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index b96c3d9e10a8..bc2a09da21b1 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
@@ -23,6 +23,11 @@ struct qdisc_rate_table | |||
23 | int refcnt; | 23 | int refcnt; |
24 | }; | 24 | }; |
25 | 25 | ||
26 | enum qdisc_state_t | ||
27 | { | ||
28 | __QDISC_STATE_RUNNING, | ||
29 | }; | ||
30 | |||
26 | struct Qdisc | 31 | struct Qdisc |
27 | { | 32 | { |
28 | int (*enqueue)(struct sk_buff *skb, struct Qdisc *dev); | 33 | int (*enqueue)(struct sk_buff *skb, struct Qdisc *dev); |
@@ -36,6 +41,7 @@ struct Qdisc | |||
36 | u32 handle; | 41 | u32 handle; |
37 | u32 parent; | 42 | u32 parent; |
38 | atomic_t refcnt; | 43 | atomic_t refcnt; |
44 | unsigned long state; | ||
39 | struct sk_buff *gso_skb; | 45 | struct sk_buff *gso_skb; |
40 | struct sk_buff_head q; | 46 | struct sk_buff_head q; |
41 | struct netdev_queue *dev_queue; | 47 | struct netdev_queue *dev_queue; |