mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 00:41:17 +00:00
0994e65c6a
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
46 lines
1.6 KiB
Diff
46 lines
1.6 KiB
Diff
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;
|