--- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -264,6 +264,10 @@ struct sk_buff *__alloc_skb(unsigned int if (!skb) goto out; +#ifdef CONFIG_ARCH_IXP4XX + gfp_mask |= GFP_DMA; +#endif + size = SKB_DATA_ALIGN(size); data = kmalloc_node_track_caller(size + sizeof(struct skb_shared_info), gfp_mask, node);