From c1a7e135873d5def34db3b9393e18241a8cf3231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Fri, 24 Apr 2015 10:45:33 +0000 Subject: mac80211: update brcmfmac to the wireless-drivers-next-for-davem-2015-04-09 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki SVN-Revision: 45576 --- ...avoid-runtime-pm-for-sdio-host-controller.patch | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 package/kernel/mac80211/patches/346-brcmfmac-avoid-runtime-pm-for-sdio-host-controller.patch (limited to 'package/kernel/mac80211/patches/346-brcmfmac-avoid-runtime-pm-for-sdio-host-controller.patch') diff --git a/package/kernel/mac80211/patches/346-brcmfmac-avoid-runtime-pm-for-sdio-host-controller.patch b/package/kernel/mac80211/patches/346-brcmfmac-avoid-runtime-pm-for-sdio-host-controller.patch new file mode 100644 index 0000000000..af76f13ecd --- /dev/null +++ b/package/kernel/mac80211/patches/346-brcmfmac-avoid-runtime-pm-for-sdio-host-controller.patch @@ -0,0 +1,44 @@ +From: Arend van Spriel +Date: Wed, 18 Mar 2015 13:25:21 +0100 +Subject: [PATCH] brcmfmac: avoid runtime-pm for sdio host controller + +Several host controllers supporting runtime-pm are causing issues +with our sdio wireless cards because they disable the sdio interrupt +upon going into runtime suspend. This patch avoids that by doing +a pm_runtime_forbid() call during the probe. Tested with Sony Vaio +Duo 13 which uses sdhci-acpi host controller. + +Reviewed-by: Hante Meuleman +Reviewed-by: Franky (Zhenhui) Lin +Reviewed-by: Pieter-Paul Giesberts +Signed-off-by: Arend van Spriel +Signed-off-by: Kalle Valo +--- + +--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c ++++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -1006,6 +1007,7 @@ static int brcmf_sdiod_remove(struct brc + sg_free_table(&sdiodev->sgtable); + sdiodev->sbwad = 0; + ++ pm_runtime_allow(sdiodev->func[1]->card->host->parent); + return 0; + } + +@@ -1074,7 +1076,7 @@ static int brcmf_sdiod_probe(struct brcm + ret = -ENODEV; + goto out; + } +- ++ pm_runtime_forbid(host->parent); + out: + if (ret) + brcmf_sdiod_remove(sdiodev); -- cgit v1.2.3