* 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
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)
return;
}
- skb = alloc_skb(CFSIZ,
- in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
-
+ skb = alloc_skb(CFSIZ, gfp_any());
if (!skb)
goto out;
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;