diff options
| -rw-r--r-- | net/sched/sch_ets.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/sched/sch_ets.c b/net/sched/sch_ets.c index ae46643e596d..306e046276d4 100644 --- a/net/sched/sch_ets.c +++ b/net/sched/sch_ets.c @@ -664,6 +664,10 @@ static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt, q->classes[i].deficit = quanta[i]; } } + for (i = q->nstrict; i < nstrict; i++) { + if (cl_is_active(&q->classes[i])) + list_del_init(&q->classes[i].alist); + } WRITE_ONCE(q->nstrict, nstrict); memcpy(q->prio2band, priomap, sizeof(priomap)); |
