• Andreas Kemnade's avatar
    mmc: omap_hsmmc: fix wakeirq handling on removal · f6e23e57
    Andreas Kemnade authored
    commit 3c398f3c upstream.
    
    after unbinding mmc I get things like this:
    [  185.294067] mmc1: card 0001 removed
    [  185.305206] omap_hsmmc 480b4000.mmc: wake IRQ with no resume: -13
    
    The wakeirq stays in /proc-interrupts
    
    rebinding shows this:
    [  289.795959] genirq: Flags mismatch irq 112. 0000200a (480b4000.mmc:wakeup) vs. 0000200a (480b4000.mmc:wakeup)
    [  289.808959] omap_hsmmc 480b4000.mmc: Unable to request wake IRQ
    [  289.815338] omap_hsmmc 480b4000.mmc: no SDIO IRQ support, falling back to polling
    
    That bug seems to be introduced by switching from devm_request_irq()
    to generic wakeirq handling.
    
    So let us cleanup at removal.
    Signed-off-by: default avatarAndreas Kemnade <andreas@kemnade.info>
    Fixes: 5b83b223 ("mmc: omap_hsmmc: Change wake-up interrupt to use generic wakeirq")
    Cc: stable@vger.kernel.org # v4.2+
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    f6e23e57
omap_hsmmc.c 57.6 KB