Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
- net/sched/sch_generic.c | 3 +++
- 1 file changed, 3 insertions(+)
+ net/sched/sch_generic.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
-@@ -705,6 +705,9 @@ void qdisc_destroy(struct Qdisc *qdisc)
- {
- const struct Qdisc_ops *ops = qdisc->ops;
+@@ -703,7 +703,11 @@ static void qdisc_rcu_free(struct rcu_he
+ void qdisc_destroy(struct Qdisc *qdisc)
+ {
+- const struct Qdisc_ops *ops = qdisc->ops;
++ const struct Qdisc_ops *ops;
++
+ if (!qdisc)
+ return;
-+
++ ops = qdisc->ops;
+
if (qdisc->flags & TCQ_F_BUILTIN ||
!refcount_dec_and_test(&qdisc->refcnt))
- return;
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
- net/sched/sch_generic.c | 3 +++
- 1 file changed, 3 insertions(+)
+ net/sched/sch_generic.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
-@@ -950,6 +950,9 @@ void qdisc_destroy(struct Qdisc *qdisc)
- const struct Qdisc_ops *ops = qdisc->ops;
+@@ -947,9 +947,13 @@ void qdisc_free(struct Qdisc *qdisc)
+
+ void qdisc_destroy(struct Qdisc *qdisc)
+ {
+- const struct Qdisc_ops *ops = qdisc->ops;
++ const struct Qdisc_ops *ops;
struct sk_buff *skb, *tmp;
+ if (!qdisc)
+ return;
++ ops = qdisc->ops;
+
if (qdisc->flags & TCQ_F_BUILTIN ||
!refcount_dec_and_test(&qdisc->refcnt))