FAILED: patch "[PATCH] mmc: omap_hsmmc: fix wakeirq handling on removal" failed to apply to 4.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
3c398f3c3bef21961eaaeb93227fa66d440dc83dMon Sep 17 00:00:00 2001
From: Andreas Kemnade <[email protected]>
Date: Sun, 2 Sep 2018 09:30:58 +0200
Subject: [PATCH] mmc: omap_hsmmc: fix wakeirq handling on removal
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 Andreas Kemnade <[email protected]>
Fixes 5b83b2234be6 ("mmc: omap_hsmmc: Change wake-up interrupt to use generic wakeirq")
Cc [email protected] # v4.2+
Signed-off-by Ulf Hansson <[email protected]>
drivers/mmc/host/omap_hsmmc.c +1 -0
@@ -2177,6 +2177,7 @@ static int omap_hsmmc_remove(struct platform_device *pdev)dma_release_channel (host->tx_chan);dma_release_channel (host->rx_chan); +dev_pm_clear_wake_irq (host->dev);pm_runtime_dont_use_autosuspend (host->dev);pm_runtime_put_sync (host->dev);pm_runtime_disable (host->dev);