Files
build/patch/kernel/archive/sunxi-5.15/patches.cypress/0040-non-upstream-disable-command-decode-in-sdio_aos-for-.patch

37 lines
1.5 KiB
Diff

From 439e863b9433cc6f98c32d9159f04cd86a163224 Mon Sep 17 00:00:00 2001
From: Chi-Hsien Lin <chi-hsien.lin@cypress.com>
Date: Fri, 13 Mar 2020 03:12:05 -0500
Subject: [PATCH 040/179] non-upstream: disable command decode in sdio_aos for
4339
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.
Signed-off-by: Wright Feng <wright.feng@cypress.com>
Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com>
---
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index b1e037e1bf45..c184a745b7c2 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -3622,6 +3622,7 @@ static bool brcmf_sdio_aos_no_decode(struct brcmf_sdio *bus)
if (bus->ci->chip == CY_CC_43012_CHIP_ID ||
bus->ci->chip == CY_CC_43752_CHIP_ID ||
bus->ci->chip == CY_CC_4373_CHIP_ID ||
+ bus->ci->chip == BRCM_CC_4339_CHIP_ID ||
bus->ci->chip == BRCM_CC_4354_CHIP_ID ||
bus->ci->chip == BRCM_CC_4356_CHIP_ID)
return true;
--
2.17.1