]> Pileus Git - ~andy/linux/blobdiff - net/sched/sch_prio.c
[NET_SCHED] qdisc: avoid transmit softirq on watchdog wakeup
[~andy/linux] / net / sched / sch_prio.c
index de889f23f22a5fdb29481c6696957e0832f95170..f13996348dda597abf7cc110f585b6d3ec80d7fd 100644 (file)
@@ -32,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>
 
@@ -271,7 +272,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;
@@ -280,7 +281,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;
 }