Browse Source

dw_dmac: apply default dma_mask if needed

In some cases we got the device without dma_mask configured. We have to apply
the default value to avoid crashes during memory mapping.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Andy Shevchenko 12 years ago
parent
commit
877e86f283
1 changed files with 6 additions and 0 deletions
  1. 6 0
      drivers/dma/dw_dmac.c

+ 6 - 0
drivers/dma/dw_dmac.c

@@ -1661,6 +1661,12 @@ static int dw_probe(struct platform_device *pdev)
 	if (!regs)
 		return -EBUSY;
 
+	/* Apply default dma_mask if needed */
+	if (!pdev->dev.dma_mask) {
+		pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
+		pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
+	}
+
 	dw_params = dma_read_byaddr(regs, DW_PARAMS);
 	autocfg = dw_params >> DW_PARAMS_EN & 0x1;