Ver Fonte

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>
David S. Miller há 17 anos atrás
pai
commit
3a682fbd73
2 ficheiros alterados com 4 adições e 0 exclusões
  1. 2 0
      include/net/sch_generic.h
  2. 2 0
      net/sched/sch_generic.c

+ 2 - 0
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)
 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);
 }
 }
 
 

+ 2 - 0
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);
 	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);