Search Linux Wireless

Re: [PATCH v3] brcmfmac: prohibit ACPI power management for brcmfmac driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi guys,

Any comments about this patch?



Thanks,
Zhonghui

On 2015/5/11 10:41, 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 <zhonghui.fu@xxxxxxxxxxxxxxx>
> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx>
> ---
> Changes in v3:
> - Have the assignment separate for the if statement.
>
>  drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
> index 9b508bd..c960a12 100644
> --- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
> +++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
> @@ -33,6 +33,7 @@
>  #include <linux/suspend.h>
>  #include <linux/errno.h>
>  #include <linux/module.h>
> +#include <linux/acpi.h>
>  #include <net/cfg80211.h>
>  
>  #include <defs.h>
> @@ -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,12 @@ 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;
> +	adev = ACPI_COMPANION(dev);
> +	if (adev)
> +		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 linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux