summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@bootlin.com>2018-03-08 15:52:53 +0100
committerUlf Hansson <ulf.hansson@linaro.org>2018-03-15 14:43:23 +0100
commitcb1214d27a3ef8817a7a208d546aa9f947bf5f7d (patch)
treed96d6d7e1128b7a99f6f20a57b6fc5c45751aa42 /drivers/mmc
parentd81819419b2be4eee6643681ce0366856a772ba9 (diff)
downloadlinux-0-day-cb1214d27a3ef8817a7a208d546aa9f947bf5f7d.tar.gz
linux-0-day-cb1214d27a3ef8817a7a208d546aa9f947bf5f7d.tar.xz
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: Maxime Ripard <maxime.ripard@bootlin.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sunxi-mmc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
index b747d65a7d156..20cfb20418f3e 100644
--- a/drivers/mmc/host/sunxi-mmc.c
+++ b/drivers/mmc/host/sunxi-mmc.c
@@ -1318,6 +1318,7 @@ static int sunxi_mmc_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "mmc alloc host failed\n");
return -ENOMEM;
}
+ platform_set_drvdata(pdev, mmc);
host = mmc_priv(mmc);
host->dev = &pdev->dev;
@@ -1384,7 +1385,6 @@ static int sunxi_mmc_probe(struct platform_device *pdev)
goto error_free_dma;
dev_info(&pdev->dev, "base:0x%p irq:%u\n", host->reg_base, host->irq);
- platform_set_drvdata(pdev, mmc);
return 0;
error_free_dma: