From: Double Lo <[email protected]>

Transaction between AOS and SDIOD is not protected, and if cmd 52
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: Double Lo <[email protected]>
Signed-off-by: Chi-Hsien Lin <[email protected]>
---
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c 
b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index d507d8f15e48..337e72b7787c 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -3371,7 +3371,8 @@ static void brcmf_sdio_sr_init(struct brcmf_sdio *bus)
 
        if (bus->ci->chip == CY_CC_43012_CHIP_ID ||
            bus->ci->chip == BRCM_CC_4339_CHIP_ID ||
-           bus->ci->chip == BRCM_CC_4345_CHIP_ID) {
+           bus->ci->chip == BRCM_CC_4345_CHIP_ID ||
+           bus->ci->chip == BRCM_CC_4354_CHIP_ID) {
                cardcap = SDIO_CCCR_BRCM_CARDCAP_CMD_NODEC;
        } else {
                cardcap = (SDIO_CCCR_BRCM_CARDCAP_CMD14_SUPPORT |
-- 
2.1.0

Reply via email to