]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/sched/sch_atm.c
Merge branch 'bjorn-cleanups' into release
[linux-2.6-omap-h63xx.git] / net / sched / sch_atm.c
index 6eb9a650b63da60888e5108ca4c3fb9df01f776f..2a8b83af7c47a4bbee4471cc62894d46ca1d233a 100644 (file)
@@ -62,7 +62,7 @@ struct atm_qdisc_data {
        struct atm_flow_data    link;           /* unclassified skbs go here */
        struct atm_flow_data    *flows;         /* NB: "link" is also on this
                                                   list */
-       struct tasklet_struct   task;           /* requeue tasklet */
+       struct tasklet_struct   task;           /* dequeue tasklet */
 };
 
 /* ------------------------- Class/flow operations ------------------------- */
@@ -102,7 +102,8 @@ static int atm_tc_graft(struct Qdisc *sch, unsigned long arg,
                return -EINVAL;
        if (!new)
                new = &noop_qdisc;
-       *old = xchg(&flow->q, new);
+       *old = flow->q;
+       flow->q = new;
        if (*old)
                qdisc_reset(*old);
        return 0;
@@ -534,23 +535,6 @@ static struct sk_buff *atm_tc_peek(struct Qdisc *sch)
        return p->link.q->ops->peek(p->link.q);
 }
 
-static int atm_tc_requeue(struct sk_buff *skb, struct Qdisc *sch)
-{
-       struct atm_qdisc_data *p = qdisc_priv(sch);
-       int ret;
-
-       pr_debug("atm_tc_requeue(skb %p,sch %p,[qdisc %p])\n", skb, sch, p);
-       ret = p->link.q->ops->requeue(skb, p->link.q);
-       if (!ret) {
-               sch->q.qlen++;
-               sch->qstats.requeues++;
-       } else if (net_xmit_drop_count(ret)) {
-               sch->qstats.drops++;
-               p->link.qstats.drops++;
-       }
-       return ret;
-}
-
 static unsigned int atm_tc_drop(struct Qdisc *sch)
 {
        struct atm_qdisc_data *p = qdisc_priv(sch);
@@ -707,7 +691,6 @@ static struct Qdisc_ops atm_qdisc_ops __read_mostly = {
        .enqueue        = atm_tc_enqueue,
        .dequeue        = atm_tc_dequeue,
        .peek           = atm_tc_peek,
-       .requeue        = atm_tc_requeue,
        .drop           = atm_tc_drop,
        .init           = atm_tc_init,
        .reset          = atm_tc_reset,