ixp4xx: add support for linux 3.10
[openwrt.git] / target / linux / ixp4xx / patches-3.10 / 600-skb_avoid_dmabounce.patch
diff --git a/target/linux/ixp4xx/patches-3.10/600-skb_avoid_dmabounce.patch b/target/linux/ixp4xx/patches-3.10/600-skb_avoid_dmabounce.patch
new file mode 100644 (file)
index 0000000..1d171ff
--- /dev/null
@@ -0,0 +1,23 @@
+--- a/net/core/skbuff.c
++++ b/net/core/skbuff.c
+@@ -238,6 +238,9 @@ struct sk_buff *__alloc_skb(unsigned int
+       if (sk_memalloc_socks() && (flags & SKB_ALLOC_RX))
+               gfp_mask |= __GFP_MEMALLOC;
++#ifdef CONFIG_ARCH_IXP4XX
++      gfp_mask |= GFP_DMA;
++#endif
+       /* Get the HEAD */
+       skb = kmem_cache_alloc_node(cache, gfp_mask & ~__GFP_DMA, node);
+@@ -1085,6 +1088,10 @@ int pskb_expand_head(struct sk_buff *skb
+       if (skb_shared(skb))
+               BUG();
++#ifdef CONFIG_ARCH_IXP4XX
++      gfp_mask |= GFP_DMA;
++#endif
++
+       size = SKB_DATA_ALIGN(size);
+       if (skb_pfmemalloc(skb))