diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2019-02-12 13:43:06 +0100 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2019-02-12 13:50:40 +0100 |
commit | 0994e65c6a32ea7009d1fe89f7261cb5d106c7a3 (patch) | |
tree | e4a154b66c4dbc65e3db1e8a5f1c4d7385cf7ce3 /package/kernel/mac80211/patches/brcm/329-v5.0-0008-brcmfmac-disable-command-decode-in-sdio_aos.patch | |
parent | 248797834bf21916ddf663edc96d86ee5377850e (diff) | |
download | upstream-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.patch | 45 |
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; |