diff options
author | Felix Fietkau <nbd@openwrt.org> | 2009-11-24 13:55:37 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2009-11-24 13:55:37 +0000 |
commit | cafe76e10361d2ca31edfb2017378b92c6e3b5b8 (patch) | |
tree | 2cefcafe46f148801af1a627b09059290711d8d0 | |
parent | b2c8d3ada0789b3f91cbd93e0a39b6f4531d81ee (diff) | |
download | upstream-cafe76e10361d2ca31edfb2017378b92c6e3b5b8.tar.gz upstream-cafe76e10361d2ca31edfb2017378b92c6e3b5b8.tar.bz2 upstream-cafe76e10361d2ca31edfb2017378b92c6e3b5b8.zip |
ath: only use GFP_DMA on ixp4xx
SVN-Revision: 18525
-rw-r--r-- | package/mac80211/patches/510-ath_use_gfp_dma.patch | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/package/mac80211/patches/510-ath_use_gfp_dma.patch b/package/mac80211/patches/510-ath_use_gfp_dma.patch index af375b151b..9390a2faaa 100644 --- a/package/mac80211/patches/510-ath_use_gfp_dma.patch +++ b/package/mac80211/patches/510-ath_use_gfp_dma.patch @@ -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. |