On 11/21/24 10:22, Dullfire wrote: > On 11/21/24 02:55, Paolo Abeni wrote: >> On 11/18/24 00:48, dullfire@xxxxxxxxx wrote: >>> From: Jonathan Currier <dullfire@xxxxxxxxx> >>> >>> Commit 7d5ec3d36123 ("PCI/MSI: Mask all unused MSI-X entries") >>> introduces a readl() from ENTRY_VECTOR_CTRL before the writel() to >>> ENTRY_DATA. This is correct, however some hardware, like the Sun Neptune >>> chips, the niu module, will cause an error and/or fatal trap if any MSIX >>> table entry is read before the corresponding ENTRY_DATA field is written >>> to. This patch adds an optional early writel() in msix_prepare_msi_desc(). >> Why the issue can't be addressed into the relevant device driver? It >> looks like an H/W bug, a driver specific fix looks IMHO more fitting. > > I considered this approach, and thus asked about it in the mailing lists here: > https://lore.kernel.org/sparclinux/7de14cca-e2fa-49f7-b83e-5f8322cc9e56@xxxxxxxxx/T/ I forgot about such thread, thank you for the reminder. Since the more hackish code is IRQ specific, if Thomas is fine with that, I'll not oppose. >> A cross subsystem series, like this one, gives some extra complication >> to maintainers. The niu driver is not exactly under very active development, I guess the whole series could go via the IRQ subsystem, if Thomas agrees. Cheers, Paolo