diff options
Diffstat (limited to 'drivers/mmc/core/sdio_bus.c')
-rw-r--r-- | drivers/mmc/core/sdio_bus.c | 8 |
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) | |||
143 | 143 | ||
144 | drv->remove(func); | 144 | drv->remove(func); |
145 | 145 | ||
146 | if (func->irq_handler) { | ||
147 | printk(KERN_WARNING "WARNING: driver %s did not remove " | ||
148 | "its interrupt handler!\n", drv->name); | ||
149 | sdio_claim_host(func); | ||
150 | sdio_release_irq(func); | ||
151 | sdio_release_host(func); | ||
152 | } | ||
153 | |||
146 | return 0; | 154 | return 0; |
147 | } | 155 | } |
148 | 156 | ||