Re: [PATCH] incremental fix for NIU MSI-X problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux