Hello, On Fri, Jun 14, 2019 at 10:58:54AM +0200, Thomas Petazzoni wrote: > Hello, > > On Fri, 14 Jun 2019 08:42:25 +0200 > Remi Pommarel <repk@xxxxxxxxxxxx> wrote: > > > PCI_EXP_RTCTL is used to activate PME interrupt only, so writing into it > > should not modify other interrupts' mask. The ISR mask polarity was also > > inverted, when PCI_EXP_RTCTL_PMEIE is set PCIE_MSG_PM_PME_MASK mask bit > > should actually be cleared. > > > > Fixes: 6302bf3ef78d ("PCI: Init PCIe feature bits for managed host bridge alloc") > > Are you sure about this Fixes tag ? This commit seems unrelated. > > The commit introducing this issue is 8a3ebd8de328301aacbe328650a59253be2ac82c. The 6302bf3ef78d commit fixes PCI bridge's PME flag which introduces the configuration of PCI_EXP_RTCTL register (which wasn't used before). So, yes, PCI_EXP_RTCTL conf was flawed since 8a3ebd8de328 but the infinite interrupt loop happens only since that 6302bf3ef78d has fixed this PME flag bug. I chose to use 6302bf3ef78d because it was the one commit triggering the bug during my bisect process, but yes maybe using the commit that introduced (even if it was silently) the problem makes more sense. So if you want I can do a v3 with this Fixes tag modification. -- Remi