aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/brcm/329-v5.0-0008-brcmfmac-disable-command-decode-in-sdio_aos.patch
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2019-02-12 13:43:06 +0100
committerRafał Miłecki <rafal@milecki.pl>2019-02-12 13:50:40 +0100
commit0994e65c6a32ea7009d1fe89f7261cb5d106c7a3 (patch)
treee4a154b66c4dbc65e3db1e8a5f1c4d7385cf7ce3 /package/kernel/mac80211/patches/brcm/329-v5.0-0008-brcmfmac-disable-command-decode-in-sdio_aos.patch
parent248797834bf21916ddf663edc96d86ee5377850e (diff)
downloadupstream-0994e65c6a32ea7009d1fe89f7261cb5d106c7a3.tar.gz
upstream-0994e65c6a32ea7009d1fe89f7261cb5d106c7a3.tar.bz2
upstream-0994e65c6a32ea7009d1fe89f7261cb5d106c7a3.zip
mac80211: brcmfmac: backport remaining patches from the Linux 5.0
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'package/kernel/mac80211/patches/brcm/329-v5.0-0008-brcmfmac-disable-command-decode-in-sdio_aos.patch')
-rw-r--r--package/kernel/mac80211/patches/brcm/329-v5.0-0008-brcmfmac-disable-command-decode-in-sdio_aos.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/brcm/329-v5.0-0008-brcmfmac-disable-command-decode-in-sdio_aos.patch b/package/kernel/mac80211/patches/brcm/329-v5.0-0008-brcmfmac-disable-command-decode-in-sdio_aos.patch
new file mode 100644
index 0000000000..a1125e588d
--- /dev/null
+++ b/package/kernel/mac80211/patches/brcm/329-v5.0-0008-brcmfmac-disable-command-decode-in-sdio_aos.patch
@@ -0,0 +1,45 @@
+From 29f6589140a10ece8c1d73f58043ea5b3473ab3e Mon Sep 17 00:00:00 2001
+From: Wright Feng <wright.feng@cypress.com>
+Date: Wed, 21 Nov 2018 07:53:52 +0000
+Subject: [PATCH] brcmfmac: disable command decode in sdio_aos
+
+AOS is a part of the SDIOD core that becomes active when the rest of
+SDIOD is sleeping to keep SDIO bus alive responding to reduced set of
+commands.
+
+Transaction between AOS and SDIOD is not protected, and if cmd 52 is
+received in AOS and in the middle of response state changed from AOS to
+SDIOD, response is corrupted and it causes to SDIO Host controller to
+hang.
+
+Command decode for below chips are disabled in this commit:
+ - 4339
+ - 4345
+ - 4354
+ - 4373
+
+Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
+Signed-off-by: Wright Feng <wright.feng@cypress.com>
+Signed-off-by: Double Lo <double.lo@cypress.com>
+Signed-off-by: Madhan Mohan R <madhanmohan.r@cypress.com>
+Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+@@ -3354,7 +3354,11 @@ err:
+
+ static bool brcmf_sdio_aos_no_decode(struct brcmf_sdio *bus)
+ {
+- if (bus->ci->chip == CY_CC_43012_CHIP_ID)
++ if (bus->ci->chip == CY_CC_43012_CHIP_ID ||
++ bus->ci->chip == CY_CC_4373_CHIP_ID ||
++ bus->ci->chip == BRCM_CC_4339_CHIP_ID ||
++ bus->ci->chip == BRCM_CC_4345_CHIP_ID ||
++ bus->ci->chip == BRCM_CC_4354_CHIP_ID)
+ return true;
+ else
+ return false;