]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/sched/act_police.c
pkt_sched: sch_htb: Break all htb_do_events() after 2 jiffies
[karo-tx-linux.git] / net / sched / act_police.c
index e19a0261144a9bcc794838c48971a9c7d4b896e2..5c72a116b1a4513405735349391a01ff1c9b376a 100644 (file)
@@ -182,6 +182,14 @@ override:
                R_tab = qdisc_get_rtab(&parm->rate, tb[TCA_POLICE_RATE]);
                if (R_tab == NULL)
                        goto failure;
+
+               if (!est && (ret == ACT_P_CREATED ||
+                            !gen_estimator_active(&police->tcf_bstats,
+                                                  &police->tcf_rate_est))) {
+                       err = -EINVAL;
+                       goto failure;
+               }
+
                if (parm->peakrate.rate) {
                        P_tab = qdisc_get_rtab(&parm->peakrate,
                                               tb[TCA_POLICE_PEAKRATE]);