Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752295AbbEKCo5 (ORCPT ); Sun, 10 May 2015 22:44:57 -0400 Received: from mga02.intel.com ([134.134.136.20]:5478 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751058AbbEKCox (ORCPT ); Sun, 10 May 2015 22:44:53 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,403,1427785200"; d="scan'208";a="726989823" Message-ID: <555017A0.7020207@linux.intel.com> Date: Mon, 11 May 2015 10:44:48 +0800 From: "Fu, Zhonghui" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Arend van Spriel CC: "brudley@broadcom.com" , Franky Lin , "meuleman@broadcom.com" , Kalle Valo , "pieterpg@broadcom.com" , "hdegoede@redhat.com" , "linux-wireless@vger.kernel.org" , "brcm80211-dev-list@broadcom.com" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2] brcmfmac: prohibit ACPI power management for brcmfmac driver References: <55463E19.7070709@linux.intel.com> <554AC8EB.9040403@linux.intel.com> <554B22B0.6080708@broadcom.com> In-Reply-To: <554B22B0.6080708@broadcom.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3005 Lines: 90 On 2015/5/7 16:30, Arend van Spriel wrote: > On 05/07/15 04:07, Fu, Zhonghui wrote: >> >> Hi, >> >> Any comments are welcome. > > Having some time to spare while spending my vacation so here it is. > >> Thanks, >> Zhonghui >> >> On 2015/5/3 23:26, Fu, Zhonghui wrote: >>> ACPI will manage WiFi chip's power state during suspend/resume >>> process on some tablet platforms(such as ASUS T100TA). This is >>> not supported by brcmfmac driver now, and the context of WiFi >>> chip will be damaged after resume. This patch informs ACPI not >>> to manage WiFi chip's power state. >>> >>> Signed-off-by: Zhonghui Fu >>> --- >>> Changes in v2: >>> - Another implementation. >>> >>> drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 8 ++++++++ >>> 1 files changed, 8 insertions(+), 0 deletions(-) >>> >>> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c >>> index 9b508bd..6c519e3 100644 >>> --- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c >>> +++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c >>> @@ -33,6 +33,7 @@ >>> #include >>> #include >>> #include >>> +#include >>> #include >>> >>> #include >>> @@ -1114,6 +1115,8 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func, >>> int err; >>> struct brcmf_sdio_dev *sdiodev; >>> struct brcmf_bus *bus_if; >>> + struct device *dev; >>> + struct acpi_device *adev; >>> >>> brcmf_dbg(SDIO, "Enter\n"); >>> brcmf_dbg(SDIO, "Class=%x\n", func->class); >>> @@ -1121,6 +1124,11 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func, >>> brcmf_dbg(SDIO, "sdio device ID: 0x%04x\n", func->device); >>> brcmf_dbg(SDIO, "Function#: %d\n", func->num); >>> >>> + /* prohibit ACPI power management for this device */ >>> + dev =&func->dev; >>> + if (adev = ACPI_COMPANION(dev)) > > While I understand what you are doing here it makes someone reading the code wonder whether a mistake has been made. So I would prefer to have the assignment separate for the if statement. > > For the update patch you may add: > > Acked-by: Arend van Spriel Many thanks for your comments. I have sent out the v3 patch. Thanks, Zhonghui > > Regards, > Arend >>> + adev->flags.power_manageable = 0; >>> + >>> /* Consume func num 1 but dont do anything with it. */ >>> if (func->num == 1) >>> return 0; >>> -- 1.7.1 >>> >> > > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/