diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-20 18:13:01 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-20 18:13:01 -0700 |
commit | 3a682fbd732d3d27bec722a923952b0938e8a404 (patch) | |
tree | 715ca6472e7c3d9b354cb8bfa18db74dabcdaeff | |
parent | fb65a7c091529bfffb1262515252c0d0f6241c5c (diff) | |
download | op-kernel-dev-3a682fbd732d3d27bec722a923952b0938e8a404.zip op-kernel-dev-3a682fbd732d3d27bec722a923952b0938e8a404.tar.gz |
pkt_sched: Fix build with NET_SCHED disabled.
The stab bits can't be referenced uniless the full
packet scheduler layer is enabled.
Reported by Stephen Rothwell.
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/sch_generic.h | 2 | ||||
-rw-r--r-- | net/sched/sch_generic.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index db9ad65..b5f40d7 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -333,8 +333,10 @@ static inline unsigned int qdisc_pkt_len(struct sk_buff *skb) static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch) { +#ifdef CONFIG_NET_SCHED if (sch->stab) qdisc_calculate_pkt_len(skb, sch->stab); +#endif return sch->enqueue(skb, sch); } diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index 27a51f0..0ddf692 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -469,7 +469,9 @@ static void __qdisc_destroy(struct rcu_head *head) struct Qdisc *qdisc = container_of(head, struct Qdisc, q_rcu); const struct Qdisc_ops *ops = qdisc->ops; +#ifdef CONFIG_NET_SCHED qdisc_put_stab(qdisc->stab); +#endif gen_kill_estimator(&qdisc->bstats, &qdisc->rate_est); if (ops->reset) ops->reset(qdisc); |