diff --git a/[refs] b/[refs] index 89ff74cd4f38..51e1897b3b08 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ccbd6a5a4f76e821ed36f69fdaf59817c3a7f18e +refs/heads/master: f0cd15081a72075df16c45a2310e873fb9fcd82f diff --git a/trunk/net/sched/sch_tbf.c b/trunk/net/sched/sch_tbf.c index 8fb8107ab188..0991c640cd3e 100644 --- a/trunk/net/sched/sch_tbf.c +++ b/trunk/net/sched/sch_tbf.c @@ -273,7 +273,11 @@ static int tbf_change(struct Qdisc* sch, struct nlattr *opt) if (max_size < 0) goto done; - if (qopt->limit > 0) { + if (q->qdisc != &noop_qdisc) { + err = fifo_set_limit(q->qdisc, qopt->limit); + if (err) + goto done; + } else if (qopt->limit > 0) { child = fifo_create_dflt(sch, &bfifo_qdisc_ops, qopt->limit); if (IS_ERR(child)) { err = PTR_ERR(child);