Message ID | 1546940318-9752-5-git-send-email-atish.patra@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Various SMP related fixes | expand |
On Tue, Jan 8, 2019 at 3:08 PM Atish Patra <atish.patra@wdc.com> wrote: > > It is perfectly okay to call riscv_hartid_to_cpuid for a > hartid that is not mapped with an CPU id. It can happen > if the calling functions retrieves the hartid from DT. > However, that hartid was never brought online by the firmware > or kernel for any reasons. > > No need to BUG() in the above case. A negative error return > is sufficient and the calling function should check for the > return value always. > > Signed-off-by: Atish Patra <atish.patra@wdc.com> > --- > arch/riscv/kernel/smp.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/arch/riscv/kernel/smp.c b/arch/riscv/kernel/smp.c > index e407bd4f..ce9a2e73 100644 > --- a/arch/riscv/kernel/smp.c > +++ b/arch/riscv/kernel/smp.c > @@ -58,7 +58,6 @@ int riscv_hartid_to_cpuid(int hartid) > return i; > > pr_err("Couldn't find cpu id for hartid [%d]\n", hartid); > - BUG(); > return i; > } > > -- > 2.7.4 > Looks good to me. Reviewed-by: Anup Patel <anup@brainfault.org> Regards, Anup
On Tue, Jan 08, 2019 at 01:38:34AM -0800, Atish Patra wrote: > It is perfectly okay to call riscv_hartid_to_cpuid for a > hartid that is not mapped with an CPU id. It can happen > if the calling functions retrieves the hartid from DT. > However, that hartid was never brought online by the firmware > or kernel for any reasons. > > No need to BUG() in the above case. A negative error return > is sufficient and the calling function should check for the > return value always. > > Signed-off-by: Atish Patra <atish.patra@wdc.com> Looks fine (modulo the line length issues): Reviewed-by: Christoph Hellwig <hch@lst.de>
diff --git a/arch/riscv/kernel/smp.c b/arch/riscv/kernel/smp.c index e407bd4f..ce9a2e73 100644 --- a/arch/riscv/kernel/smp.c +++ b/arch/riscv/kernel/smp.c @@ -58,7 +58,6 @@ int riscv_hartid_to_cpuid(int hartid) return i; pr_err("Couldn't find cpu id for hartid [%d]\n", hartid); - BUG(); return i; }
It is perfectly okay to call riscv_hartid_to_cpuid for a hartid that is not mapped with an CPU id. It can happen if the calling functions retrieves the hartid from DT. However, that hartid was never brought online by the firmware or kernel for any reasons. No need to BUG() in the above case. A negative error return is sufficient and the calling function should check for the return value always. Signed-off-by: Atish Patra <atish.patra@wdc.com> --- arch/riscv/kernel/smp.c | 1 - 1 file changed, 1 deletion(-)