Descriptor ring can only start at 8KB alignment, this requirement
is dictated by DMA hardware.

Reported-by: Johannes Berg <[email protected]>
Signed-off-by: Roland Vossen <[email protected]>
---
 drivers/staging/brcm80211/brcmsmac/dma.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/brcm80211/brcmsmac/dma.c 
b/drivers/staging/brcm80211/brcmsmac/dma.c
index 6c9b1fe..06990b3 100644
--- a/drivers/staging/brcm80211/brcmsmac/dma.c
+++ b/drivers/staging/brcm80211/brcmsmac/dma.c
@@ -24,8 +24,8 @@
 #include "dma.h"
 
 /*
- * Each descriptor ring must be 8kB aligned, and fit within a
- * contiguous 8kB physical address.
+ * DMA hardware requires each descriptor ring to be 8kB aligned, and fit within
+ * a contiguous 8kB physical address.
  */
 #define D64RINGALIGN_BITS      13
 #define        D64MAXRINGSZ            (1 << D64RINGALIGN_BITS)
@@ -440,6 +440,10 @@ static bool _dma_descriptor_align(struct dma_info *di)
        return true;
 }
 
+/*
+ * Descriptor table must start at the DMA hardware dictated alignment, so
+ * allocated memory must be large enough to support this requirement.
+ */
 static void *dma_alloc_consistent(struct pci_dev *pdev, uint size,
                                  u16 align_bits, uint *alloced,
                                  dma_addr_t *pap)
-- 
1.7.4.1


_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to