diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 318c9f656e8e0a41aed5e6c7cd0841fce88e7a5b..1192da2298358c9189cd37272f2ed32bf376c12a 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -542,6 +542,9 @@ void qdisc_reset(struct Qdisc *qdisc)
 
 	if (ops->reset)
 		ops->reset(qdisc);
+
+	kfree_skb(qdisc->gso_skb);
+	qdisc->gso_skb = NULL;
 }
 EXPORT_SYMBOL(qdisc_reset);