summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2011-08-26 20:41:38 +0200
committerJohn W. Linville <linville@tuxdriver.com>2011-08-29 15:33:01 -0400
commit996bc370fa5f28f0a07d6c8dee26591db2f3dea9 (patch)
treef4b184995e84d527c2f87df96bfc34e4a1cef9f0
parent1eb85d63c73d924c172bde059ad8b0192abd74a4 (diff)
downloadop-kernel-dev-996bc370fa5f28f0a07d6c8dee26591db2f3dea9.zip
op-kernel-dev-996bc370fa5f28f0a07d6c8dee26591db2f3dea9.tar.gz
b43: Relax requirement for descriptors to be in the DMA zone
When 64-bit DMA was first used, there were problems with the BCM4311 (14e4:4311). The problem was "fixed" by using the GFP_DMA flag in the allocation of coherent ring descriptor memory. The original problem is now believed to have been due to bugs in the 64-bit DMA implementation in the rest of the kernel, and that those bugs have been fixed. Accordingly, the requirement for the descriptors to be in the DMA zone is relaxed. Bounce buffers are left in the DMA zone. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Michael Buesch <m@bues.ch> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/b43/dma.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c
index e76b40d..c83c4b6 100644
--- a/drivers/net/wireless/b43/dma.c
+++ b/drivers/net/wireless/b43/dma.c
@@ -423,14 +423,7 @@ static int alloc_ringmemory(struct b43_dmaring *ring)
* has shown that 4K is sufficient for the latter as long as the buffer
* does not cross an 8K boundary.
*
- * For unknown reasons - possibly a hardware error - the BCM4311 rev
- * 02, which uses 64-bit DMA, needs the ring buffer in very low memory,
- * which accounts for the GFP_DMA flag below.
- *
- * The flags here must match the flags in free_ringmemory below!
*/
- if (ring->type == B43_DMA_64BIT)
- flags |= GFP_DMA;
ring->descbase = dma_alloc_coherent(ring->dev->dev->dma_dev,
B43_DMA_RINGMEMSIZE,
&(ring->dmabase), flags);
OpenPOWER on IntegriCloud