]> rtime.felk.cvut.cz Git - socketcan-devel.git/commitdiff
Changes suggested by Arnaldo Carvalho de Melo:
authorthuermann <thuermann@030b6a49-0b11-0410-94ab-b0dab22257f2>
Tue, 25 Sep 2007 13:32:50 +0000 (13:32 +0000)
committerthuermann <thuermann@030b6a49-0b11-0410-94ab-b0dab22257f2>
Tue, 25 Sep 2007 13:32:50 +0000 (13:32 +0000)
* Use gfp_any() instead of checking in_interrupt().
* Don't kfree() the sk_protinfo field in kerenls >= 2.6.12.

git-svn-id: svn://svn.berlios.de//socketcan/trunk@495 030b6a49-0b11-0410-94ab-b0dab22257f2

kernel/2.6/net/can/af_can.c
kernel/2.6/net/can/bcm.c

index 3276f7228b6123e5938a24d17b82cc0a547dff15..c785a44a06e889bf213d62cd68f648bc2c82f7de 100644 (file)
@@ -150,8 +150,10 @@ static void can_sock_destruct(struct sock *sk)
        DBG("called for sock %p\n", sk);
 
        skb_queue_purge(&sk->sk_receive_queue);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,12)
        if (sk->sk_protinfo)
                kfree(sk->sk_protinfo);
+#endif
 }
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
index 77d136b24cba9553bc51b1cec0855b0cb3cacac6..73e59435f2c2ba75fbea1ef35b9395cae1a78243 100644 (file)
@@ -344,9 +344,7 @@ static void bcm_can_tx(struct bcm_op *op)
                return;
        }
 
-       skb = alloc_skb(CFSIZ,
-                       in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
-
+       skb = alloc_skb(CFSIZ, gfp_any());
        if (!skb)
                goto out;
 
@@ -382,8 +380,7 @@ static void bcm_send_to_user(struct bcm_op *op, struct bcm_msg_head *head,
        int datalen = head->nframes * CFSIZ;
        int err;
 
-       skb = alloc_skb(sizeof(*head) + datalen,
-                       in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
+       skb = alloc_skb(sizeof(*head) + datalen, gfp_any());
        if (!skb)
                return;