X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fsched%2Fcls_rsvp.h;h=f70fad175a6f1b52511c84ee278f068133f821de;hb=70790a4b5cd6c0291e5b1a2836e2832d46036ac6;hp=85e028d8475777fd80fc004a45df7bd513845b58;hpb=413ba3004a4036bb5d6e52d2faa2b19cb13561dc;p=linux-2.6.git diff --git a/net/sched/cls_rsvp.h b/net/sched/cls_rsvp.h index 85e028d84..f70fad175 100644 --- a/net/sched/cls_rsvp.h +++ b/net/sched/cls_rsvp.h @@ -278,7 +278,7 @@ static void rsvp_destroy(struct tcf_proto *tp) if ((cl = __cls_set_class(&f->res.class, 0)) != 0) tp->q->ops->cl_ops->unbind_tcf(tp->q, cl); #ifdef CONFIG_NET_CLS_POLICE - tcf_police_release(f->police); + tcf_police_release(f->police,TCA_ACT_UNBIND); #endif kfree(f); } @@ -310,7 +310,7 @@ static int rsvp_delete(struct tcf_proto *tp, unsigned long arg) tp->q->ops->cl_ops->unbind_tcf(tp->q, cl); #ifdef CONFIG_NET_CLS_POLICE - tcf_police_release(f->police); + tcf_police_release(f->police,TCA_ACT_UNBIND); #endif kfree(f); @@ -452,7 +452,7 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base, police = xchg(&f->police, police); tcf_tree_unlock(tp); - tcf_police_release(police); + tcf_police_release(police,TCA_ACT_UNBIND); } #endif return 0; @@ -656,7 +656,8 @@ static int rsvp_dump(struct tcf_proto *tp, unsigned long fh, rta->rta_len = skb->tail - b; #ifdef CONFIG_NET_CLS_POLICE if (f->police) { - if (qdisc_copy_stats(skb, &f->police->stats)) + if (qdisc_copy_stats(skb, &f->police->stats, + f->police->stats_lock)) goto rtattr_failure; } #endif