summaryrefslogtreecommitdiffstats
path: root/net/sched/sch_netem.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-01-14 21:41:53 +0100
committerMark Brown <broonie@linaro.org>2014-01-14 21:41:53 +0100
commit64a9aa9cf57dd551a9ae9bf48f5e63be608aae72 (patch)
treed5776aa6b85c7a0c4fa3565bd3881f9607c293dc /net/sched/sch_netem.c
parentASoC: Allow PCMs to restrict the supported formats (diff)
parentLinux 3.13-rc3 (diff)
downloadlinux-64a9aa9cf57dd551a9ae9bf48f5e63be608aae72.tar.xz
linux-64a9aa9cf57dd551a9ae9bf48f5e63be608aae72.zip
Merge tag 'v3.13-rc3' into asoc-pcm
Linux 3.13-rc3
Diffstat (limited to 'net/sched/sch_netem.c')
-rw-r--r--net/sched/sch_netem.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index 75c94e59a3bd..bccd52b36e97 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -215,10 +215,10 @@ static bool loss_4state(struct netem_sched_data *q)
if (rnd < clg->a4) {
clg->state = 4;
return true;
- } else if (clg->a4 < rnd && rnd < clg->a1) {
+ } else if (clg->a4 < rnd && rnd < clg->a1 + clg->a4) {
clg->state = 3;
return true;
- } else if (clg->a1 < rnd)
+ } else if (clg->a1 + clg->a4 < rnd)
clg->state = 1;
break;
@@ -268,10 +268,11 @@ static bool loss_gilb_ell(struct netem_sched_data *q)
clg->state = 2;
if (net_random() < clg->a4)
return true;
+ break;
case 2:
if (net_random() < clg->a2)
clg->state = 1;
- if (clg->a3 > net_random())
+ if (net_random() > clg->a3)
return true;
}