From f21b81c1fc1b6d21e1802e74493ba34eef22b328 Mon Sep 17 00:00:00 2001 From: Chi-Hsien Lin Date: Fri, 13 Mar 2020 03:15:29 -0500 Subject: [PATCH 034/296] non-upstream: disable command decode in sdio_aos for 43455 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 Signed-off-by: Chi-hsien Lin --- 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 720ff6a027d6..09a6726fc9cf 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -3625,6 +3625,7 @@ static bool brcmf_sdio_aos_no_decode(struct brcmf_sdio *bus) 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_4345_CHIP_ID || bus->ci->chip == BRCM_CC_4354_CHIP_ID || bus->ci->chip == BRCM_CC_4356_CHIP_ID) return true; -- 2.25.1