In case setup_hifcpubiuctrl_regs() returns an error, because of e.g:
an unsupported CPU type, just catch that error and return instead of
blindly continuing with the initialization. This fixes a NULL pointer
de-reference with the code continuing without having a proper array of
registers to use.

Fixes: 22f7a9116eba ("soc: brcmstb: Correct CPU_CREDIT_REG offset for 
Brahma-B53 CPUs")
Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
---
 drivers/soc/bcm/brcmstb/biuctrl.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/bcm/brcmstb/biuctrl.c 
b/drivers/soc/bcm/brcmstb/biuctrl.c
index 6d89ebf13b8a..c16273b31b94 100644
--- a/drivers/soc/bcm/brcmstb/biuctrl.c
+++ b/drivers/soc/bcm/brcmstb/biuctrl.c
@@ -246,7 +246,9 @@ static int __init brcmstb_biuctrl_init(void)
        if (!np)
                return 0;
 
-       setup_hifcpubiuctrl_regs(np);
+       ret = setup_hifcpubiuctrl_regs(np);
+       if (ret)
+               return ret;
 
        ret = mcp_write_pairing_set();
        if (ret) {
-- 
2.17.1

Reply via email to