aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_api.c
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2008-11-26 00:13:31 -0500
committerDavid S. Miller <davem@davemloft.net>2008-11-26 00:13:31 -0500
commit71bcb09a57894fa35591ce93dd972065eeecb63a (patch)
tree50ca8a43125f0aa89f1444928a209420754a79f3 /net/sched/sch_api.c
parent0e991ec6a0340916d3f29bd5dcb35299069e7226 (diff)
tc: check for errors in gen_rate_estimator creation
The functions gen_new_estimator and gen_replace_estimator can return errors, but they were being ignored. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_api.c')
-rw-r--r--net/sched/sch_api.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index 3fcfd4ef11d1..f859dd5fabf4 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -880,9 +880,12 @@ static int qdisc_change(struct Qdisc *sch, struct nlattr **tca)
880 sch->stab = stab; 880 sch->stab = stab;
881 881
882 if (tca[TCA_RATE]) 882 if (tca[TCA_RATE])
883 /* NB: ignores errors from replace_estimator
884 because change can't be undone. */
883 gen_replace_estimator(&sch->bstats, &sch->rate_est, 885 gen_replace_estimator(&sch->bstats, &sch->rate_est,
884 qdisc_root_sleeping_lock(sch), 886 qdisc_root_sleeping_lock(sch),
885 tca[TCA_RATE]); 887 tca[TCA_RATE]);
888
886 return 0; 889 return 0;
887} 890}
888 891