Re: [RFC PATCH] irqchip/sifive-plic: Fix getting wrong chip_data when interrupt is hierarchy

2020-11-05 Thread Palmer Dabbelt
On Sun, 01 Nov 2020 08:52:06 PST (-0800), t...@linutronix.de wrote: On Sun, Nov 01 2020 at 12:10, Marc Zyngier wrote: On Thu, 29 Oct 2020 10:37:38 +0800, Greentime Hu wrote: This oops is caused by a wrong chip_data and it is because plic_irq_unmask uses irq_get_chip_data(irq_data->irq) to get

Re: [RFC PATCH] irqchip/sifive-plic: Fix getting wrong chip_data when interrupt is hierarchy

2020-11-01 Thread Thomas Gleixner
On Sun, Nov 01 2020 at 12:10, Marc Zyngier wrote: > On Thu, 29 Oct 2020 10:37:38 +0800, Greentime Hu wrote: >> This oops is caused by a wrong chip_data and it is because plic_irq_unmask >> uses irq_get_chip_data(irq_data->irq) to get the chip_data. However it may >> get another irq_data with the

Re: [RFC PATCH] irqchip/sifive-plic: Fix getting wrong chip_data when interrupt is hierarchy

2020-11-01 Thread Marc Zyngier
On Thu, 29 Oct 2020 10:37:38 +0800, Greentime Hu wrote: > This oops is caused by a wrong chip_data and it is because plic_irq_unmask > uses irq_get_chip_data(irq_data->irq) to get the chip_data. However it may > get another irq_data with the same irq_data->irq if it is hierarchy. > > In this

Re: [RFC PATCH] irqchip/sifive-plic: Fix getting wrong chip_data when interrupt is hierarchy

2020-10-29 Thread Atish Patra
On Wed, Oct 28, 2020 at 7:37 PM Greentime Hu wrote: > > This oops is caused by a wrong chip_data and it is because plic_irq_unmask > uses irq_get_chip_data(irq_data->irq) to get the chip_data. However it may > get another irq_data with the same irq_data->irq if it is hierarchy. > > In this case,

Re: [RFC PATCH] irqchip/sifive-plic: Fix getting wrong chip_data when interrupt is hierarchy

2020-10-29 Thread Anup Patel
On Thu, Oct 29, 2020 at 8:07 AM Greentime Hu wrote: > > This oops is caused by a wrong chip_data and it is because plic_irq_unmask > uses irq_get_chip_data(irq_data->irq) to get the chip_data. However it may > get another irq_data with the same irq_data->irq if it is hierarchy. > > In this case,

[RFC PATCH] irqchip/sifive-plic: Fix getting wrong chip_data when interrupt is hierarchy

2020-10-28 Thread Greentime Hu
This oops is caused by a wrong chip_data and it is because plic_irq_unmask uses irq_get_chip_data(irq_data->irq) to get the chip_data. However it may get another irq_data with the same irq_data->irq if it is hierarchy. In this case, it will get irq_data of sifive_gpio_irqchip instead of plic_chip