brcmfmac: use different error value for invalid ram base address
authorArend van Spriel <arend.vanspriel@broadcom.com>
Wed, 28 Jul 2021 20:50:31 +0000 (22:50 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 21 Aug 2021 15:49:03 +0000 (18:49 +0300)
The function brcmf_chip_tcm_rambase() returns 0 as invalid ram base
address. However, upcoming chips have ram base address starting at
zero so we have to find a more appropriate invalid value to return.

Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Franky Lin <franky.lin@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1627505434-9544-2-git-send-email-arend.vanspriel@broadcom.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c

index 45037decba40f20a5b7875ddc0c661f07fd0f4b7..85653a95a60c05b8a6eced20e325842b87d22d1d 100644 (file)
@@ -139,6 +139,8 @@ struct sbconfig {
        u32 sbidhigh;   /* identification */
 };
 
+#define INVALID_RAMBASE                        ((u32)(~0))
+
 /* bankidx and bankinfo reg defines corerev >= 8 */
 #define SOCRAM_BANKINFO_RETNTRAM_MASK  0x00010000
 #define SOCRAM_BANKINFO_SZMASK         0x0000007f
@@ -731,7 +733,7 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
                brcmf_err("unknown chip: %s\n", ci->pub.name);
                break;
        }
-       return 0;
+       return INVALID_RAMBASE;
 }
 
 int brcmf_chip_get_raminfo(struct brcmf_chip *pub)
@@ -746,7 +748,7 @@ int brcmf_chip_get_raminfo(struct brcmf_chip *pub)
                mem_core = container_of(mem, struct brcmf_core_priv, pub);
                ci->pub.ramsize = brcmf_chip_tcm_ramsize(mem_core);
                ci->pub.rambase = brcmf_chip_tcm_rambase(ci);
-               if (!ci->pub.rambase) {
+               if (ci->pub.rambase == INVALID_RAMBASE) {
                        brcmf_err("RAM base not provided with ARM CR4 core\n");
                        return -EINVAL;
                }
@@ -757,7 +759,7 @@ int brcmf_chip_get_raminfo(struct brcmf_chip *pub)
                                                pub);
                        ci->pub.ramsize = brcmf_chip_sysmem_ramsize(mem_core);
                        ci->pub.rambase = brcmf_chip_tcm_rambase(ci);
-                       if (!ci->pub.rambase) {
+                       if (ci->pub.rambase == INVALID_RAMBASE) {
                                brcmf_err("RAM base not provided with ARM CA7 core\n");
                                return -EINVAL;
                        }