diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index ac28f6a5d70e0b38ae8ce7858f08e9d15778c22f..17bd8f539bc7f1d596e97c713467f953802c9b82 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -985,6 +985,9 @@ static void qdisc_destroy(struct Qdisc *qdisc)
 
 void qdisc_put(struct Qdisc *qdisc)
 {
+	if (!qdisc)
+		return;
+
 	if (qdisc->flags & TCQ_F_BUILTIN ||
 	    !refcount_dec_and_test(&qdisc->refcnt))
 		return;