diff --git a/net/sched/sch_taprio.c b/net/sched/sch_taprio.c index cb5e5220da552edb14436de2821e5aa2c7b68d5b..93899559ba6d2d86935732c836d430abb48ef020 100644 --- a/net/sched/sch_taprio.c +++ b/net/sched/sch_taprio.c @@ -1630,6 +1630,10 @@ static void taprio_destroy(struct Qdisc *sch) list_del(&q->taprio_list); spin_unlock(&taprio_list_lock); + /* Note that taprio_reset() might not be called if an error + * happens in qdisc_create(), after taprio_init() has been called. + */ + hrtimer_cancel(&q->advance_timer); taprio_disable_offload(dev, q, NULL);