Re: [REGRESSION] OCTEON MMC driver failure with v4.19

From: Aaro Koskinen
Date: Tue Nov 06 2018 - 04:05:15 EST


Hi,

On Tue, Nov 06, 2018 at 07:27:24AM +0100, Christoph Hellwig wrote:
> On Tue, Nov 06, 2018 at 12:06:32AM +0200, Aaro Koskinen wrote:
> > With the below change, the MMC card probe seems to with v4.19. But it
> > feels a bit hackish, don't you think... Is there some obvious simple
> > fix that I'm missing? Any comments?
>
> Please just use dma_coerce_mask_and_coherent in the platform drivers
> instead.

Tried, but that doesn't help with v4.19:

[ 1.290698] octeon_mmc 1180000002000.mmc: dma_coerce_mask_and_coherent(): -5
[ 1.297825] octeon_mmc: probe of 1180000002000.mmc failed with error -5

A.

diff --git a/drivers/mmc/host/cavium-octeon.c b/drivers/mmc/host/cavium-octeon.c
index 22aded1065ae..f7ce26ba6936 100644
--- a/drivers/mmc/host/cavium-octeon.c
+++ b/drivers/mmc/host/cavium-octeon.c
@@ -232,7 +232,8 @@ static int octeon_mmc_probe(struct platform_device *pdev)
*/
host->reg_off_dma = -0x20;

- ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64));
+ ret = dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
+ dev_err(&pdev->dev, "dma_coerce_mask_and_coherent(): %d", ret);
if (ret)
return ret;