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>
This commit is contained in:
@@ -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)
|
static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_NET_SCHED
|
||||||
if (sch->stab)
|
if (sch->stab)
|
||||||
qdisc_calculate_pkt_len(skb, sch->stab);
|
qdisc_calculate_pkt_len(skb, sch->stab);
|
||||||
|
#endif
|
||||||
return sch->enqueue(skb, sch);
|
return sch->enqueue(skb, sch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -469,7 +469,9 @@ static void __qdisc_destroy(struct rcu_head *head)
|
|||||||
struct Qdisc *qdisc = container_of(head, struct Qdisc, q_rcu);
|
struct Qdisc *qdisc = container_of(head, struct Qdisc, q_rcu);
|
||||||
const struct Qdisc_ops *ops = qdisc->ops;
|
const struct Qdisc_ops *ops = qdisc->ops;
|
||||||
|
|
||||||
|
#ifdef CONFIG_NET_SCHED
|
||||||
qdisc_put_stab(qdisc->stab);
|
qdisc_put_stab(qdisc->stab);
|
||||||
|
#endif
|
||||||
gen_kill_estimator(&qdisc->bstats, &qdisc->rate_est);
|
gen_kill_estimator(&qdisc->bstats, &qdisc->rate_est);
|
||||||
if (ops->reset)
|
if (ops->reset)
|
||||||
ops->reset(qdisc);
|
ops->reset(qdisc);
|
||||||
|
|||||||
Reference in New Issue
Block a user