[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <53DFE933.2080805@broadcom.com>
Date: Mon, 4 Aug 2014 22:12:35 +0200
From: Arend van Spriel <arend@...adcom.com>
To: Russell King - ARM Linux <linux@....linux.org.uk>
CC: "Fu, Zhonghui" <zhonghui.fu@...ux.intel.com>,
<brudley@...adcom.com>, Franky Lin <frankyl@...adcom.com>,
<meuleman@...adcom.com>, <linville@...driver.com>,
<pieterpg@...adcom.com>, <dekim@...adcom.com>,
<mcgrof@...not-panic.com>, <antonio@...n-mesh.com>,
<johannes.berg@...el.com>, <linux-wireless@...r.kernel.org>,
<brcm80211-dev-list@...adcom.com>, <netdev@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-mmc@...r.kernel.org>
Subject: Re: [PATCH] brcmfmac: prevent watchdog from interfering with scanning
and connecting
On 08/04/14 18:52, Russell King - ARM Linux wrote:
> On Tue, Aug 05, 2014 at 12:36:49AM +0800, Fu, Zhonghui wrote:
>> Hi, Arend
>>
>> I investigated this issue, and its root cause is still that sdio
>> controller can't receive interrupts from WiFi chip on sdio bus when
>> sdio controller is in runtime suspend status. I am running 3.16-rc5
>> linux kernel on ASUS T100TA tablet, and using sdhci-acpi driver.
>
> That's the root cause. I fixed this with the Freescale i.MX SD driver
> which is now able to report pending SDIO interrupts while runtime PM
> suspended.
>
> Other host drivers probably need fixing too, or having runtime PM
> disabled on them - if you can't receive SDIO interrupts while runtime
> PM suspended, then entering runtime PM while you have a SDIO device
> attached is a bug.
>
> This is something for the MMC people to deal with rather than Arend.
Occasionally, the itch is there to fix mmc code, but this looks a bit
tricky. The fun starts in sdio.c:mmc_attach_sdio():
/*
* Enable runtime PM only if supported by host+card+board
*/
if (host->caps & MMC_CAP_POWER_OFF_CARD) {
/*
* Let runtime PM core know our card is active
*/
err = pm_runtime_set_active(&card->dev);
if (err)
goto remove;
/*
* Enable runtime PM for this card
*/
pm_runtime_enable(&card->dev);
}
The comment above the if statement seems to be stating the right idea,
but the code only looks at the host controller capability flags.
Regards,
Arend
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists