Use dma_addr_t to support 64-bit plaforms, which access beyond the default
32 bit address range.

Signed-off-by: Bao Truong <btru...@apm.com>
Signed-off-by: Feng Kan <f...@apm.com>
---
 Changes:
        V2: fixed GKH's comment regarding not mark up the comment after
            code change.

 drivers/usb/host/xhci-plat.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index 3d78b0c..f75764f 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -96,14 +96,18 @@ static int xhci_plat_probe(struct platform_device *pdev)
                        return ret;
        }
 
-       /* Initialize dma_mask and coherent_dma_mask to 32-bits */
-       ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
+       /*
+        * Initialize dma_mask and coherent_dma_mask to valid DMA or bus
+        * address for the platform.
+        */
+       ret = dma_set_coherent_mask(&pdev->dev,
+                                       DMA_BIT_MASK(sizeof(dma_addr_t)*8));
        if (ret)
                return ret;
        if (!pdev->dev.dma_mask)
                pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
        else
-               dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
+               dma_set_mask(&pdev->dev, DMA_BIT_MASK(sizeof(dma_addr_t)*8));
 
        hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev));
        if (!hcd)
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to