Matthew Wilcox wrote: > commit 7d4f9bdd8995e6718cb9dec57fd294bc16f17919 > Author: Matthew Wilcox <matthew@xxxxxx> > Date: Wed May 13 17:31:11 2009 -0400 > > Fix the NIU MSI-X problem in a better way > > The previous MSI-X fix (8d181018532dd709ec1f789e374cda92d7b01ce1) had > three bugs. First, it didn't move the write that disabled the vector. > This led to writing garbage to the MSI-X vector (spotted by Michael > Ellerman). It didn't fix the PCI resume case, and it had a race window > where the device could generate an interrupt before the MSI-X registers > were programmed (leading to a DMA to random addresses). > > Fortunately, the MSI-X capability has a bit to mask all the vectors. > By setting this bit instead of clearing the enable bit, we can ensure > the device will not generate spurious interrupts. Since the capability > is now enabled, the NIU device will not have a problem with the reads > and writes to the MSI-X registers being in the original order in the code. > > Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> It's OK with me. Reviewed-by: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Thanks, H.Seto -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html