| Date | Tue, 1 Mar 2022 01:00:56 +0530 | Subject | Re: [PATCH 4/5] irqchip/qcom-pdc: Fix broken locking | From | "Maulik Shah (mkshah)" <> |
| |
Hi,
On 2/24/2022 3:42 PM, Marc Zyngier wrote: > pdc_enable_intr() serves as a primitive to qcom_pdc_gic_{en,dis}able, > and has a raw spinlock for mutual exclusion, which is uses with > interruptible primitives. > > This means that this critical section can itself be interrupted. > Should the interrupt also be a PDC interrupt, and the endpoint driver > perform an irq_disable() on that interrupt, we end-up in a deadlock. > > Fix this by using the irqsave/irqrestore variants of the locking > primitives. > > Signed-off-by: Marc Zyngier <maz@kernel.org> Reviewed-by: Maulik Shah <quic_mkshah@quicinc.com>
Thanks, Maulik > --- > drivers/irqchip/qcom-pdc.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > >
|