summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2011-05-27 16:54:05 +0200
committerChris Ball <cjb@laptop.org>2011-06-19 04:18:06 +0200
commit742a0c7cae9bd0f913c71722289b8ec862d70a2b (patch)
tree7cb32b3d9a6fb344fa2261688fd061dd3474d80e
parentmmc: of_mmc_spi: add NO_IRQ define to of_mmc_spi.c (diff)
downloadlinux-742a0c7cae9bd0f913c71722289b8ec862d70a2b.tar.xz
linux-742a0c7cae9bd0f913c71722289b8ec862d70a2b.zip
mmc: sdhi: fix module unloading
MMC host drivers must be able to process interrupts during mmc_remove_host(). Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
-rw-r--r--drivers/mmc/host/sh_mobile_sdhi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/host/sh_mobile_sdhi.c b/drivers/mmc/host/sh_mobile_sdhi.c
index b3654293017b..2353bb797d6c 100644
--- a/drivers/mmc/host/sh_mobile_sdhi.c
+++ b/drivers/mmc/host/sh_mobile_sdhi.c
@@ -165,13 +165,14 @@ static int sh_mobile_sdhi_remove(struct platform_device *pdev)
p->pdata = NULL;
+ tmio_mmc_host_remove(host);
+
for (i = 0; i < 3; i++) {
irq = platform_get_irq(pdev, i);
if (irq >= 0)
free_irq(irq, host);
}
- tmio_mmc_host_remove(host);
clk_disable(priv->clk);
clk_put(priv->clk);
kfree(priv);