lkml.org 
[lkml]   [2013]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 097/104] mmc: at91/avr32/atmel-mci: fix DMA-channel leak on module unload
    Date
    3.8-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Johan Hovold <jhovold@gmail.com>

    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 <jhovold@gmail.com>
    Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    Signed-off-by: Chris Ball <cjb@laptop.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    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);



    \
     
     \ /
      Last update: 2013-05-07 02:21    [W:2.244 / U:0.532 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site