diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2008-11-26 00:13:31 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-26 00:13:31 -0500 |
commit | 71bcb09a57894fa35591ce93dd972065eeecb63a (patch) | |
tree | 50ca8a43125f0aa89f1444928a209420754a79f3 /net/sched/sch_api.c | |
parent | 0e991ec6a0340916d3f29bd5dcb35299069e7226 (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.c | 7 |
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 | ||