net/sched/hfsc: allocate tcf block for hfsc root class

Without this filters cannot be attached.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Fixes: 6529eaba33 ("net: sched: introduce tcf block infractructure")
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Konstantin Khlebnikov 2017-08-10 12:31:40 +03:00 коммит произвёл David S. Miller
Родитель ad729bc9ac
Коммит 8d55373875
1 изменённых файлов: 8 добавлений и 0 удалений

Просмотреть файл

@ -1428,6 +1428,10 @@ hfsc_init_qdisc(struct Qdisc *sch, struct nlattr *opt)
return err;
q->eligible = RB_ROOT;
err = tcf_block_get(&q->root.block, &q->root.filter_list);
if (err)
goto err_tcf;
q->root.cl_common.classid = sch->handle;
q->root.refcnt = 1;
q->root.sched = q;
@ -1447,6 +1451,10 @@ hfsc_init_qdisc(struct Qdisc *sch, struct nlattr *opt)
qdisc_watchdog_init(&q->watchdog, sch);
return 0;
err_tcf:
qdisc_class_hash_destroy(&q->clhash);
return err;
}
static int