On Tue, 2018-11-13 at 10:36 +0000, Lorenzo Pieralisi wrote: > 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. Looks like _another_ bug added to the driver, this time in 4.17.