On Thu, Mar 26, 2020 at 7:49 AM Srinath Mannam <srinath.mannam@xxxxxxxxxxxx> wrote: > -static void iproc_pcie_enable(struct iproc_pcie *pcie) > +static void iproc_pcie_mask_irq(struct irq_data *d) > { > + struct iproc_pcie *pcie = irq_data_get_irq_chip_data(d); > + u32 val; > + unsigned long flags; > + > + spin_lock_irqsave(&pcie->intx_lock, flags); > + val = iproc_pcie_read_reg(pcie, IPROC_PCIE_INTX_EN); > + val &= ~(BIT(irqd_to_hwirq(d))); > + iproc_pcie_write_reg(pcie, IPROC_PCIE_INTX_EN, val); > + spin_unlock_irqrestore(&pcie->intx_lock, flags); > +} I think these need to use a raw spinlock, or you get problems with PREEMPT_RT Arnd