ath: only use GFP_DMA on ixp4xx
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 24 Nov 2009 13:55:37 +0000 (13:55 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 24 Nov 2009 13:55:37 +0000 (13:55 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18525 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/510-ath_use_gfp_dma.patch

index af375b1..9390a2f 100644 (file)
@@ -1,11 +1,17 @@
 --- a/drivers/net/wireless/ath/main.c
 +++ b/drivers/net/wireless/ath/main.c
-@@ -43,7 +43,7 @@ struct sk_buff *ath_rxbuf_alloc(struct a
-        * Unfortunately this means we may get 8 KB here from the
-        * kernel... and that is actually what is observed on some
-        * systems :( */
--      skb = __dev_alloc_skb(len + common->cachelsz - 1, gfp_mask);
-+      skb = __dev_alloc_skb(len + common->cachelsz - 1, gfp_mask | GFP_DMA);
-       if (skb != NULL) {
-               off = ((unsigned long) skb->data) % common->cachelsz;
-               if (off != 0)
+@@ -31,6 +31,14 @@ struct sk_buff *ath_rxbuf_alloc(struct a
+       u32 off;
+       /*
++       * Enable GFP_DMA in order to avoid using DMA bounce buffers
++       * on IXP4xx devices with more than 64M RAM
++       */
++#ifdef CONFIG_ARCH_IXP4XX
++      gfp_mask |= GFP_DMA;
++#endif
++
++      /*
+        * Cache-line-align.  This is important (for the
+        * 5210 at least) as not doing so causes bogus data
+        * in rx'd frames.
This page took 0.023021 seconds and 4 git commands to generate.