From 43abde72cb8396a812997facec89280c3bc14b7c Mon Sep 17 00:00:00 2001 From: Dong Aisheng Date: Fri, 29 Jan 2016 21:34:45 +0800 Subject: MLK-12360-3 bcmdhd: fix bcmdhd blocks system suspend issue When enable WIFi and connected with AP, the system is unable to suspend. root@imx6qdlsolo:~# echo standby > /sys/power/state PM: Syncing filesystems ... done. Freezing user space processes ... (elapsed 0.001 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. dhdsdio_isr: Enter dhdsdio_isr: Enter dhdsdio_isr: disable SDIO interrupts Calling dhdsdio_dpc() from dhdsdio_isr dhdsdio_dpc: Enter dhdsdio_bussleep: request WAKE (currently SLEEP) (Keypress still response here.... ) It's caused by Broadcom WiFi driver will keep handling SDIO irq even after the driver is already suspended. This weird behavior will block the MMC host suspend during its irq synchronize operation in free_irq(), then the system suspend is blocked too and hanged. Add SDHCI_QUIRK2_SDIO_IRQ_THREAD for BCM WiFi to use kernel thread to process sdio interrupts which won't block system suspend and process freeze operation. Signed-off-by: Dong Aisheng (cherry picked from commit 66b534082968214707d54d96ba142bc528a6e1de) --- Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Documentation/devicetree/bindings') diff --git a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt index 462c62e3cfc0..483ee95599ef 100644 --- a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt +++ b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt @@ -36,7 +36,7 @@ Optional properties: - fsl,tuning-start-tap: Specify the start dealy cell point when send first CMD19 in tuning procedure. - wifi-host : assigned as a wifi host. - This is required for some WiFi cards to do card detect + This is required for Broadcom BCM WiFi cards to do card detect Examples: -- cgit v1.2.3