Commit cb1214d2 authored by Maxime Ripard's avatar Maxime Ripard Committed by Ulf Hansson

mmc: sunxi: Set our device drvdata earlier

As soon as the pm_runtime_enable hook is called, our runtime_suspend and
runtime_resume hooks can be called as well. However, we only set the device
drvdata that we will use after we have registered into the MMC core. Move
that earlier so that we don't have a race that could lead to a crash.
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent d8181941
...@@ -1318,6 +1318,7 @@ static int sunxi_mmc_probe(struct platform_device *pdev) ...@@ -1318,6 +1318,7 @@ static int sunxi_mmc_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "mmc alloc host failed\n"); dev_err(&pdev->dev, "mmc alloc host failed\n");
return -ENOMEM; return -ENOMEM;
} }
platform_set_drvdata(pdev, mmc);
host = mmc_priv(mmc); host = mmc_priv(mmc);
host->dev = &pdev->dev; host->dev = &pdev->dev;
...@@ -1384,7 +1385,6 @@ static int sunxi_mmc_probe(struct platform_device *pdev) ...@@ -1384,7 +1385,6 @@ static int sunxi_mmc_probe(struct platform_device *pdev)
goto error_free_dma; goto error_free_dma;
dev_info(&pdev->dev, "base:0x%p irq:%u\n", host->reg_base, host->irq); dev_info(&pdev->dev, "base:0x%p irq:%u\n", host->reg_base, host->irq);
platform_set_drvdata(pdev, mmc);
return 0; return 0;
error_free_dma: error_free_dma:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment