summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core/sdio_bus.c
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2007-06-30 16:29:41 +0200
committerPierre Ossman <drzeus@drzeus.cx>2007-09-23 21:01:33 +0200
commitd1496c39e500857b8949cdb91af24e0eb8aae4d0 (patch)
tree020ef1ee2fefc2000e07d47ff4d7bf3d0a0ebf5e /drivers/mmc/core/sdio_bus.c
parent2342f3323c9a76367a1d7f9a35525ee3cb3911df (diff)
downloadlinux-d1496c39e500857b8949cdb91af24e0eb8aae4d0.tar.gz
linux-d1496c39e500857b8949cdb91af24e0eb8aae4d0.tar.bz2
linux-d1496c39e500857b8949cdb91af24e0eb8aae4d0.zip
sdio: core support for SDIO function interrupt
Signed-off-by: Nicolas Pitre <npitre@mvista.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/core/sdio_bus.c')
-rw-r--r--drivers/mmc/core/sdio_bus.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/mmc/core/sdio_bus.c b/drivers/mmc/core/sdio_bus.c
index 129f0719c391..240724454914 100644
--- a/drivers/mmc/core/sdio_bus.c
+++ b/drivers/mmc/core/sdio_bus.c
@@ -143,6 +143,14 @@ static int sdio_bus_remove(struct device *dev)
drv->remove(func);
+ if (func->irq_handler) {
+ printk(KERN_WARNING "WARNING: driver %s did not remove "
+ "its interrupt handler!\n", drv->name);
+ sdio_claim_host(func);
+ sdio_release_irq(func);
+ sdio_release_host(func);
+ }
+
return 0;
}