Hi, On 10/12/2018 16:17, Lorenzo Pieralisi wrote: > On Tue, Nov 13, 2018 at 10:57:31PM +0000, Marc Zyngier wrote: >> It recently came to light that the Designware PCIe driver is rather >> broken in the way it handles MSI[1]: >> >> - It masks interrupt by disabling them, meaning that MSIs generated >> during the masked window are simply lost. Oops. >> >> - Acking of the currently pending MSI is done outside of the interrupt >> flow, getting moved around randomly and ultimately breaking the >> driver. Not great. >> >> This series attempts to address this by switching to using the MASK >> register for masking interrupts (!), and move the ack into the >> appropriate callback, giving it a fixed place in the MSI handling >> flow. >> >> Note that this is only compile-tested on my arm64 laptop, as I'm >> travelling and do not have the required HW to test it anyway. I'd >> welcome both review and testing by the interested parties (dwc >> maintainer and users affected by existing bugs). >> >> Thanks, >> >> M. >> >> [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.kernel.org_patch_10657987_&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=bkWxpLoW-f-E3EdiDCCa0_h0PicsViasSlvIpzZvPxs&m=SrPrRrHtYpjpRa6GKChsIMueIxK1EJVXMRMX4-JhuSE&s=wlMpkjgZDQ_a2lgGHhHLH6OPLkM2RKuYfSFPHbwGEBg&e= >> >> Marc Zyngier (3): >> PCI: designware: Use interrupt masking instead of disabling >> PCI: designware: Take lock when ACKing an interrupt >> PCI: designware: Move interrupt acking into the proper callback >> >> .../pci/controller/dwc/pcie-designware-host.c | 22 ++++++++++++------- >> 1 file changed, 14 insertions(+), 8 deletions(-) > > Marc, Gustavo, > > I have decided to queue this series - fixed-up as per this thread, > available at: > > git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git test/pci-dwc-msi > > We allowed enough time for people to test it, we can't leave mainline > broken for the, apparently few, people who care. > > I *think* that this is the Fixes: tag to be added to all patches in this > series, @Gustavo please countercheck: > > 7c5925afbc58 ("PCI: dwc: Move MSI IRQs allocation to IRQ domains > hierarchical API") Yes, I confirm, that is the patch to fix. Regards, Gustavo > > I will mark them for stable too and we will work on backports to be > sent in due course. > > Thanks, > Lorenzo >