ath: only use GFP_DMA on ixp4xx
SVN-Revision: 18525
This commit is contained in:
parent
b2c8d3ada0
commit
cafe76e103
1 changed files with 15 additions and 9 deletions
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue