From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751958AbaHDUMm (ORCPT ); Mon, 4 Aug 2014 16:12:42 -0400 Received: from mail-gw2-out.broadcom.com ([216.31.210.63]:21210 "EHLO mail-gw2-out.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751311AbaHDUMk (ORCPT ); Mon, 4 Aug 2014 16:12:40 -0400 X-IronPort-AV: E=Sophos;i="5.01,800,1400050800"; d="scan'208";a="41513486" Message-ID: <53DFE933.2080805@broadcom.com> Date: Mon, 4 Aug 2014 22:12:35 +0200 From: Arend van Spriel User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.24) Gecko/20111103 Lightning/1.0b2 Thunderbird/3.1.16 MIME-Version: 1.0 To: Russell King - ARM Linux CC: "Fu, Zhonghui" , , Franky Lin , , , , , , , , , , , , Subject: Re: [PATCH] brcmfmac: prevent watchdog from interfering with scanning and connecting References: <539E8559.3010601@linux.intel.com> <539EA79C.7010206@broadcom.com> <53A30F96.3010206@linux.intel.com> <53A311E4.301@broadcom.com> <53CCC44C.2070507@linux.intel.com> <53D124B3.7030807@linux.intel.com> <53DFB6A1.7040900@linux.intel.com> <20140804165202.GG30282@n2100.arm.linux.org.uk> In-Reply-To: <20140804165202.GG30282@n2100.arm.linux.org.uk> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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