]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/netrom/nr_subr.c
Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6
[mv-sheeva.git] / net / netrom / nr_subr.c
index bcb9946b4f5628f59276cfed1082c33135d95119..6a947ae50dbdd9865e2607041a4b12f2a7e13fcc 100644 (file)
 #include <linux/socket.h>
 #include <linux/in.h>
 #include <linux/kernel.h>
-#include <linux/sched.h>
 #include <linux/timer.h>
 #include <linux/string.h>
 #include <linux/sockios.h>
 #include <linux/net.h>
+#include <linux/slab.h>
 #include <net/ax25.h>
 #include <linux/inet.h>
 #include <linux/netdevice.h>
@@ -57,7 +57,7 @@ void nr_frames_acked(struct sock *sk, unsigned short nr)
         */
        if (nrom->va != nr) {
                while (skb_peek(&nrom->ack_queue) != NULL && nrom->va != nr) {
-                       skb = skb_dequeue(&nrom->ack_queue);
+                       skb = skb_dequeue(&nrom->ack_queue);
                        kfree_skb(skb);
                        nrom->va = (nrom->va + 1) % NR_MODULUS;
                }
@@ -227,13 +227,13 @@ void __nr_transmit_reply(struct sk_buff *skb, int mine, unsigned char cmdflags)
 
        dptr = skb_put(skbn, NR_NETWORK_LEN + NR_TRANSPORT_LEN);
 
-       memcpy(dptr, skb->data + 7, AX25_ADDR_LEN);
+       skb_copy_from_linear_data_offset(skb, 7, dptr, AX25_ADDR_LEN);
        dptr[6] &= ~AX25_CBIT;
        dptr[6] &= ~AX25_EBIT;
        dptr[6] |= AX25_SSSID_SPARE;
        dptr += AX25_ADDR_LEN;
 
-       memcpy(dptr, skb->data + 0, AX25_ADDR_LEN);
+       skb_copy_from_linear_data(skb, dptr, AX25_ADDR_LEN);
        dptr[6] &= ~AX25_CBIT;
        dptr[6] |= AX25_EBIT;
        dptr[6] |= AX25_SSSID_SPARE;