From a87a14e34c2f5abd48a99cbf7449ae1945b74656 Mon Sep 17 00:00:00 2001 From: Gaurang Rathod Date: Thu, 16 Feb 2023 06:49:46 -0600 Subject: [PATCH 225/296] brcmfmac: Avoid socram access in secure mode 1. Since SDIO2WLAN access OTP bit is set, Host should not access any other core then sdio in secure-mode. 2. We should skip disabling ARM in secure-mode. Signed-off-by: Gaurang Rathod --- .../wireless/broadcom/brcm80211/brcmfmac/chip.c | 15 +++++++++++---- .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 1 - 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c index 37c345da55e5..f2837f3a92e9 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c @@ -676,6 +676,11 @@ static void brcmf_chip_socram_ramsize(struct brcmf_core_priv *sr, u32 *ramsize, *ramsize = 0; *srsize = 0; + if (sr->chip->pub.chip == CY_CC_43022_CHIP_ID && sr->chip->pub.blhs) { + *ramsize = 0xA0000; + return; + } + if (WARN_ON(sr->pub.rev < 4)) return; @@ -1713,10 +1718,12 @@ void brcmf_chip_set_passive(struct brcmf_chip *pub) brcmf_chip_ca7_set_passive(chip); return; } - arm = brcmf_chip_get_core(pub, BCMA_CORE_ARM_CM3); - if (arm) { - brcmf_chip_cm3_set_passive(chip); - return; + if (!(pub->chip == CY_CC_43022_CHIP_ID && pub->blhs)) { + arm = brcmf_chip_get_core(pub, BCMA_CORE_ARM_CM3); + if (arm) { + brcmf_chip_cm3_set_passive(chip); + return; + } } } diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c index b71f48bdcbbb..158d50051aab 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -4837,7 +4837,6 @@ int brcmf_get_intr_pending_data(void *ctx) brcmf_err("Device hung, return failure.\n"); } - brcmf_err("intr pending err= %d\n", err); return 0; } -- 2.25.1