]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/sched/sch_prio.c
[ARM] 4364/1: AT91: LEDS on AT91SAM9261-EK
[linux-2.6-omap-h63xx.git] / net / sched / sch_prio.c
index 9f957ca5073b09c01192390f229d5ff37b7afb73..269a6e17c6c4ac65ea5d38c866bcabf5251beb96 100644 (file)
@@ -17,7 +17,6 @@
 #include <linux/bitops.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
-#include <linux/sched.h>
 #include <linux/string.h>
 #include <linux/mm.h>
 #include <linux/socket.h>
@@ -33,6 +32,7 @@
 #include <net/ip.h>
 #include <net/route.h>
 #include <linux/skbuff.h>
+#include <net/netlink.h>
 #include <net/sock.h>
 #include <net/pkt_sched.h>
 
@@ -62,7 +62,7 @@ prio_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr)
                        *qerr = NET_XMIT_SUCCESS;
                case TC_ACT_SHOT:
                        return NULL;
-               };
+               }
 
                if (!q->filter_list ) {
 #else
@@ -189,13 +189,8 @@ prio_destroy(struct Qdisc* sch)
 {
        int prio;
        struct prio_sched_data *q = qdisc_priv(sch);
-       struct tcf_proto *tp;
-
-       while ((tp = q->filter_list) != NULL) {
-               q->filter_list = tp->next;
-               tcf_destroy(tp);
-       }
 
+       tcf_destroy_chain(q->filter_list);
        for (prio=0; prio<q->bands; prio++)
                qdisc_destroy(q->queues[prio]);
 }
@@ -272,7 +267,7 @@ static int prio_init(struct Qdisc *sch, struct rtattr *opt)
 static int prio_dump(struct Qdisc *sch, struct sk_buff *skb)
 {
        struct prio_sched_data *q = qdisc_priv(sch);
-       unsigned char    *b = skb->tail;
+       unsigned char *b = skb_tail_pointer(skb);
        struct tc_prio_qopt opt;
 
        opt.bands = q->bands;
@@ -281,7 +276,7 @@ static int prio_dump(struct Qdisc *sch, struct sk_buff *skb)
        return skb->len;
 
 rtattr_failure:
-       skb_trim(skb, b - skb->data);
+       nlmsg_trim(skb, b);
        return -1;
 }