diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c index 456ee6e62dfa8690ade04284873d6d386d084ba5..ad036b00427d92859393773eb0a9d99e2da14e4b 100644 --- a/net/sched/cls_fw.c +++ b/net/sched/cls_fw.c @@ -363,7 +363,10 @@ static void fw_walk(struct tcf_proto *tp, struct tcf_walker *arg, struct fw_head *head = rtnl_dereference(tp->root); int h; - if (head == NULL || arg->stop) + if (head == NULL) + arg->stop = 1; + + if (arg->stop) return; for (h = 0; h < HTSIZE; h++) {