diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2015-05-26 12:14:34 +0000 |
---|---|---|
committer | Rafał Miłecki <zajec5@gmail.com> | 2015-05-26 12:14:34 +0000 |
commit | 2679f7071a5c3ddd97d927f7b38673cdc7885a97 (patch) | |
tree | 90bebd9bd31c0be18b3976a88d8601df2645e6f1 /package/kernel/mac80211/patches/366-brcmfmac-prohibit-ACPI-power-management-for-brcmfmac.patch | |
parent | 17c4ddb6b92ef06c1918abecd3de8355afb4ab2d (diff) | |
download | upstream-2679f7071a5c3ddd97d927f7b38673cdc7885a97.tar.gz upstream-2679f7071a5c3ddd97d927f7b38673cdc7885a97.tar.bz2 upstream-2679f7071a5c3ddd97d927f7b38673cdc7885a97.zip |
mac80211: backport today's brcmfmac changes
It should improve msgbuf throughput (PCIe devices like BCM43602).
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45767 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel/mac80211/patches/366-brcmfmac-prohibit-ACPI-power-management-for-brcmfmac.patch')
-rw-r--r-- | package/kernel/mac80211/patches/366-brcmfmac-prohibit-ACPI-power-management-for-brcmfmac.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/366-brcmfmac-prohibit-ACPI-power-management-for-brcmfmac.patch b/package/kernel/mac80211/patches/366-brcmfmac-prohibit-ACPI-power-management-for-brcmfmac.patch new file mode 100644 index 0000000000..d46b300daa --- /dev/null +++ b/package/kernel/mac80211/patches/366-brcmfmac-prohibit-ACPI-power-management-for-brcmfmac.patch @@ -0,0 +1,47 @@ +From: "Fu, Zhonghui" <zhonghui.fu@linux.intel.com> +Date: Mon, 11 May 2015 10:41:32 +0800 +Subject: [PATCH] brcmfmac: prohibit ACPI power management for brcmfmac driver + +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@linux.intel.com> +Acked-by: Arend van Spriel <arend@broadcom.com> +Signed-off-by: Kalle Valo <kvalo@codeaurora.org> +--- + +--- 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> +@@ -1122,6 +1123,8 @@ static int brcmf_ops_sdio_probe(struct s + 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); +@@ -1129,6 +1132,12 @@ static int brcmf_ops_sdio_probe(struct s + 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; |