powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found
authorXiaoming Ni <nixiaoming@huawei.com>
Wed, 29 Sep 2021 03:36:45 +0000 (11:36 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:16:03 +0000 (19:16 +0100)
commit 3c2172c1c47b4079c29f0e6637d764a99355ebcd upstream.

When the field described in mpc85xx_smp_guts_ids[] is not configured in
dtb, the mpc85xx_setup_pmc() does not assign a value to the "guts"
variable. As a result, the oops is triggered when
mpc85xx_freeze_time_base() is executed.

Fixes: 56f1ba280719 ("powerpc/mpc85xx: refactor the PM operations")
Cc: stable@vger.kernel.org # v4.6+
Signed-off-by: Xiaoming Ni <nixiaoming@huawei.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210929033646.39630-2-nixiaoming@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/platforms/85xx/mpc85xx_pm_ops.c

index 7c0133f..ffa8a7a 100644 (file)
@@ -94,9 +94,8 @@ int __init mpc85xx_setup_pmc(void)
                        pr_err("Could not map guts node address\n");
                        return -ENOMEM;
                }
+               qoriq_pm_ops = &mpc85xx_pm_ops;
        }
 
-       qoriq_pm_ops = &mpc85xx_pm_ops;
-
        return 0;
 }