Message ID | 1546940318-9752-8-git-send-email-atish.patra@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Various SMP related fixes | expand |
Prefer, commit prefix "irqchip/irq-sifive-plic:" instead of "RISC-V:" On Tue, Jan 8, 2019 at 3:08 PM Atish Patra <atish.patra@wdc.com> wrote: > > riscv_hartid_to_cpuid can return invalid cpuid for a hart > that is present in DT but was never brought up. > > Print the appropriate warning message and continue. > > Signed-off-by: Atish Patra <atish.patra@wdc.com> > --- > drivers/irqchip/irq-sifive-plic.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c > index 357e9daf..254ecd76 100644 > --- a/drivers/irqchip/irq-sifive-plic.c > +++ b/drivers/irqchip/irq-sifive-plic.c > @@ -237,6 +237,11 @@ static int __init plic_init(struct device_node *node, > } > > cpu = riscv_hartid_to_cpuid(hartid); > + if (cpu < 0) { > + pr_warn("Invalid cpuid for context %d\n", i); > + continue; > + } > + > handler = per_cpu_ptr(&plic_handlers, cpu); > handler->present = true; > handler->ctxid = i; > -- > 2.7.4 > Otherwise, looks good to me. Reviewed-by: Anup Patel <anup@brainfault.org> Regards, Anup
Looks fine (modulo the subject line as already pointed out):
Reviewed-by: Christoph Hellwig <hch@lst.de>
On 1/8/19 4:00 AM, Anup Patel wrote: > Prefer, commit prefix "irqchip/irq-sifive-plic:" instead of "RISC-V:" > Will do. Regards, Atish > On Tue, Jan 8, 2019 at 3:08 PM Atish Patra <atish.patra@wdc.com> wrote: >> >> riscv_hartid_to_cpuid can return invalid cpuid for a hart >> that is present in DT but was never brought up. >> >> Print the appropriate warning message and continue. >> >> Signed-off-by: Atish Patra <atish.patra@wdc.com> >> --- >> drivers/irqchip/irq-sifive-plic.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c >> index 357e9daf..254ecd76 100644 >> --- a/drivers/irqchip/irq-sifive-plic.c >> +++ b/drivers/irqchip/irq-sifive-plic.c >> @@ -237,6 +237,11 @@ static int __init plic_init(struct device_node *node, >> } >> >> cpu = riscv_hartid_to_cpuid(hartid); >> + if (cpu < 0) { >> + pr_warn("Invalid cpuid for context %d\n", i); >> + continue; >> + } >> + >> handler = per_cpu_ptr(&plic_handlers, cpu); >> handler->present = true; >> handler->ctxid = i; >> -- >> 2.7.4 >> > > Otherwise, looks good to me. > > Reviewed-by: Anup Patel <anup@brainfault.org> > > Regards, > Anup >
diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c index 357e9daf..254ecd76 100644 --- a/drivers/irqchip/irq-sifive-plic.c +++ b/drivers/irqchip/irq-sifive-plic.c @@ -237,6 +237,11 @@ static int __init plic_init(struct device_node *node, } cpu = riscv_hartid_to_cpuid(hartid); + if (cpu < 0) { + pr_warn("Invalid cpuid for context %d\n", i); + continue; + } + handler = per_cpu_ptr(&plic_handlers, cpu); handler->present = true; handler->ctxid = i;
riscv_hartid_to_cpuid can return invalid cpuid for a hart that is present in DT but was never brought up. Print the appropriate warning message and continue. Signed-off-by: Atish Patra <atish.patra@wdc.com> --- drivers/irqchip/irq-sifive-plic.c | 5 +++++ 1 file changed, 5 insertions(+)