diff options
author | Johan Hovold <jhovold@gmail.com> | 2013-03-13 12:11:59 -0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2013-03-22 12:57:22 -0400 |
commit | 91cf54feecf815bec0b6a8d6d9dbd0e219f2f2cc (patch) | |
tree | 97bf59680c63526b921a0e069eb4caa1ec04317f /drivers | |
parent | 0f6e73d0abde95973354b4921b4d08acf01a8b5c (diff) |
mmc: at91/avr32/atmel-mci: fix DMA-channel leak on module unload
Fix regression introduced by commit 796211b7953 ("mmc: atmel-mci: add
pdc support and runtime capabilities detection") which removed the need
for CONFIG_MMC_ATMELMCI_DMA but kept the Kconfig-entry as well as the
compile guards around dma_release_channel() in remove(). Consequently,
DMA is always enabled (if supported), but the DMA-channel is not
released on module unload unless the DMA-config option is selected.
Remove the no longer used CONFIG_MMC_ATMELMCI_DMA option completely.
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mmc/host/Kconfig | 10 | ||||
-rw-r--r-- | drivers/mmc/host/atmel-mci.c | 2 |
2 files changed, 0 insertions, 12 deletions
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index d88219e1d86e..9c581c2ed349 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig | |||
@@ -300,16 +300,6 @@ config MMC_ATMELMCI | |||
300 | 300 | ||
301 | If unsure, say N. | 301 | If unsure, say N. |
302 | 302 | ||
303 | config MMC_ATMELMCI_DMA | ||
304 | bool "Atmel MCI DMA support" | ||
305 | depends on MMC_ATMELMCI && (AVR32 || ARCH_AT91SAM9G45) && DMA_ENGINE | ||
306 | help | ||
307 | Say Y here to have the Atmel MCI driver use a DMA engine to | ||
308 | do data transfers and thus increase the throughput and | ||
309 | reduce the CPU utilization. | ||
310 | |||
311 | If unsure, say N. | ||
312 | |||
313 | config MMC_MSM | 303 | config MMC_MSM |
314 | tristate "Qualcomm SDCC Controller Support" | 304 | tristate "Qualcomm SDCC Controller Support" |
315 | depends on MMC && ARCH_MSM | 305 | depends on MMC && ARCH_MSM |
diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c index 722af1de7967..10f8b7358e57 100644 --- a/drivers/mmc/host/atmel-mci.c +++ b/drivers/mmc/host/atmel-mci.c | |||
@@ -2487,10 +2487,8 @@ static int __exit atmci_remove(struct platform_device *pdev) | |||
2487 | atmci_readl(host, ATMCI_SR); | 2487 | atmci_readl(host, ATMCI_SR); |
2488 | clk_disable(host->mck); | 2488 | clk_disable(host->mck); |
2489 | 2489 | ||
2490 | #ifdef CONFIG_MMC_ATMELMCI_DMA | ||
2491 | if (host->dma.chan) | 2490 | if (host->dma.chan) |
2492 | dma_release_channel(host->dma.chan); | 2491 | dma_release_channel(host->dma.chan); |
2493 | #endif | ||
2494 | 2492 | ||
2495 | free_irq(platform_get_irq(pdev, 0), host); | 2493 | free_irq(platform_get_irq(pdev, 0), host); |
2496 | iounmap(host->regs); | 2494 | iounmap(host->regs); |