On Tue, Nov 13, 2018 at 01:18:41AM +0000, Trent Piepho wrote: [...] > > Based on the information provided, its very likely that I should use the > > PCIE_MSI_INTR0_MASK register instead of PCIE_MSI_INTR0_ENABLE on the > > dw_pci_bottom_mask() and dw_pci_bottom_unmask() callbacks. As soon as I return > > from Linux plumbers conference, I will test the system using the > > PCIE_MSI_INTR0_MASK register. > > Using enable to mask the interrupt is broken. It will allow an MSI to > be lost if it arrives while the MSI in not enabled. It is impossible > to prevent that from racing against the pci device driver's final check > that no MSI-signaled condition in the hardware is present. That's exactly why I raised the point. I would like to understand if this means that this revert is not enough to fix the underlying issue or we need this revert AND correct mask/unmask operations. Thanks, Lorenzo