diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c index 8ed2f5649029f9086ee43a8cc6be26f9af36f650..408eea7086aace341d1ed9812d956db35cfdfb86 100644 --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c @@ -161,7 +161,7 @@ int register_qdisc(struct Qdisc_ops *qops) if (qops->cl_ops) { const struct Qdisc_class_ops *cops = qops->cl_ops; - if (!(cops->get && cops->put)) + if (!(cops->get && cops->put && cops->walk && cops->leaf)) goto out_einval; if (cops->tcf_chain && !(cops->bind_tcf && cops->unbind_tcf))