From: Greg Kroah-Hartman Date: Mon, 6 May 2013 17:05:40 +0000 (-0700) Subject: 3.8-stable patches X-Git-Tag: v3.0.77~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a6eaa5fc2819fefbb7162694c483fa4055619584;p=thirdparty%2Fkernel%2Fstable-queue.git 3.8-stable patches added patches: mmc-at91-avr32-atmel-mci-fix-dma-channel-leak-on-module-unload.patch --- diff --git a/queue-3.8/mmc-at91-avr32-atmel-mci-fix-dma-channel-leak-on-module-unload.patch b/queue-3.8/mmc-at91-avr32-atmel-mci-fix-dma-channel-leak-on-module-unload.patch new file mode 100644 index 00000000000..7daf854369a --- /dev/null +++ b/queue-3.8/mmc-at91-avr32-atmel-mci-fix-dma-channel-leak-on-module-unload.patch @@ -0,0 +1,93 @@ +From 91cf54feecf815bec0b6a8d6d9dbd0e219f2f2cc Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Wed, 13 Mar 2013 17:11:59 +0100 +Subject: mmc: at91/avr32/atmel-mci: fix DMA-channel leak on module unload + +From: Johan Hovold + +commit 91cf54feecf815bec0b6a8d6d9dbd0e219f2f2cc upstream. + +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 +Acked-by: Ludovic Desroches +Signed-off-by: Chris Ball +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/configs/at91sam9g45_defconfig | 1 - + arch/avr32/configs/favr-32_defconfig | 1 - + arch/avr32/configs/merisc_defconfig | 1 - + drivers/mmc/host/Kconfig | 10 ---------- + drivers/mmc/host/atmel-mci.c | 2 -- + 5 files changed, 15 deletions(-) + +--- a/arch/arm/configs/at91sam9g45_defconfig ++++ b/arch/arm/configs/at91sam9g45_defconfig +@@ -173,7 +173,6 @@ CONFIG_MMC=y + # CONFIG_MMC_BLOCK_BOUNCE is not set + CONFIG_SDIO_UART=m + CONFIG_MMC_ATMELMCI=y +-CONFIG_MMC_ATMELMCI_DMA=y + CONFIG_LEDS_ATMEL_PWM=y + CONFIG_LEDS_GPIO=y + CONFIG_LEDS_TRIGGER_TIMER=y +--- a/arch/avr32/configs/favr-32_defconfig ++++ b/arch/avr32/configs/favr-32_defconfig +@@ -122,7 +122,6 @@ CONFIG_USB_G_SERIAL=m + CONFIG_USB_CDC_COMPOSITE=m + CONFIG_MMC=y + CONFIG_MMC_ATMELMCI=y +-CONFIG_MMC_ATMELMCI_DMA=y + CONFIG_NEW_LEDS=y + CONFIG_LEDS_CLASS=y + CONFIG_LEDS_ATMEL_PWM=m +--- a/arch/avr32/configs/merisc_defconfig ++++ b/arch/avr32/configs/merisc_defconfig +@@ -102,7 +102,6 @@ CONFIG_FRAMEBUFFER_CONSOLE=y + CONFIG_LOGO=y + CONFIG_MMC=y + CONFIG_MMC_ATMELMCI=y +-CONFIG_MMC_ATMELMCI_DMA=y + CONFIG_NEW_LEDS=y + CONFIG_LEDS_CLASS=y + CONFIG_LEDS_ATMEL_PWM=y +--- a/drivers/mmc/host/Kconfig ++++ b/drivers/mmc/host/Kconfig +@@ -292,16 +292,6 @@ config MMC_ATMELMCI + + If unsure, say N. + +-config MMC_ATMELMCI_DMA +- bool "Atmel MCI DMA support" +- depends on MMC_ATMELMCI && (AVR32 || ARCH_AT91SAM9G45) && DMA_ENGINE +- help +- Say Y here to have the Atmel MCI driver use a DMA engine to +- do data transfers and thus increase the throughput and +- reduce the CPU utilization. +- +- If unsure, say N. +- + config MMC_MSM + tristate "Qualcomm SDCC Controller Support" + depends on MMC && ARCH_MSM +--- a/drivers/mmc/host/atmel-mci.c ++++ b/drivers/mmc/host/atmel-mci.c +@@ -2487,10 +2487,8 @@ static int __exit atmci_remove(struct pl + atmci_readl(host, ATMCI_SR); + clk_disable(host->mck); + +-#ifdef CONFIG_MMC_ATMELMCI_DMA + if (host->dma.chan) + dma_release_channel(host->dma.chan); +-#endif + + free_irq(platform_get_irq(pdev, 0), host); + iounmap(host->regs); diff --git a/queue-3.8/series b/queue-3.8/series index fed548ac5c1..f304fe5ab56 100644 --- a/queue-3.8/series +++ b/queue-3.8/series @@ -94,3 +94,4 @@ ext4-fix-journal-callback-list-traversal.patch ext4-fix-big-endian-bug-in-metadata-checksum-calculations.patch ext4-fix-online-resizing-for-ext3-compat-file-systems.patch ext4-fix-kconfig-documentation-for-config_ext4_debug.patch +mmc-at91-avr32-atmel-mci-fix-dma-channel-leak-on-module-unload.patch