Commit 35b42da6 authored by Cong Wang's avatar Cong Wang Committed by David S. Miller

net_sched: remove a bogus warning in hfsc

In update_vf():

  cftree_remove(cl);
  update_cfmin(cl->cl_parent);

the cl_cfmin of cl->cl_parent is intentionally updated to 0
when that parent only has one child. And if this parent is
root qdisc, we could end up, in hfsc_schedule_watchdog(),
that we can't decide the next schedule time for qdisc watchdog.
But it seems safe that we can just skip it, as this watchdog is
not always scheduled anyway.

Thanks to Marco for testing all the cases, nothing is broken.
Reported-by: default avatarMarco Berizzi <pupilla@libero.it>
Tested-by: default avatarMarco Berizzi <pupilla@libero.it>
Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2ca4eb85
...@@ -1385,7 +1385,7 @@ hfsc_schedule_watchdog(struct Qdisc *sch) ...@@ -1385,7 +1385,7 @@ hfsc_schedule_watchdog(struct Qdisc *sch)
if (next_time == 0 || next_time > q->root.cl_cfmin) if (next_time == 0 || next_time > q->root.cl_cfmin)
next_time = q->root.cl_cfmin; next_time = q->root.cl_cfmin;
} }
WARN_ON(next_time == 0); if (next_time)
qdisc_watchdog_schedule(&q->watchdog, next_time); qdisc_watchdog_schedule(&q->watchdog, next_time);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment