summaryrefslogtreecommitdiffstats
path: root/net/sched/act_police.c
diff options
context:
space:
mode:
authorDavid S. Miller2009-03-05 11:06:47 +0100
committerDavid S. Miller2009-03-05 11:06:47 +0100
commit508827ff0ac3981d420edac64a70de7f4e304d38 (patch)
treeb0cee8ddef9f0ceab68c388e4ae46b7295eb2cb5 /net/sched/act_police.c
parentsfc: Improve NIC internal error recovery (diff)
parentbonding: Fix device passed into ->ndo_neigh_setup(). (diff)
downloadkernel-qcow2-linux-508827ff0ac3981d420edac64a70de7f4e304d38.tar.gz
kernel-qcow2-linux-508827ff0ac3981d420edac64a70de7f4e304d38.tar.xz
kernel-qcow2-linux-508827ff0ac3981d420edac64a70de7f4e304d38.zip
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/tokenring/tmspci.c drivers/net/ucc_geth_mii.c
Diffstat (limited to 'net/sched/act_police.c')
-rw-r--r--net/sched/act_police.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/net/sched/act_police.c b/net/sched/act_police.c
index 5c72a116b1a4..f8f047b61245 100644
--- a/net/sched/act_police.c
+++ b/net/sched/act_police.c
@@ -183,13 +183,6 @@ override:
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]);
@@ -205,6 +198,12 @@ override:
&police->tcf_lock, est);
if (err)
goto failure_unlock;
+ } else if (tb[TCA_POLICE_AVRATE] &&
+ (ret == ACT_P_CREATED ||
+ !gen_estimator_active(&police->tcf_bstats,
+ &police->tcf_rate_est))) {
+ err = -EINVAL;
+ goto failure_unlock;
}
/* No failure allowed after this point */