Re: [patch 2/8] PCI/MSI: Mask all unused MSI-X entries

Bjorn Helgaas
2021-07-22T21:45:51Z

On Wed, Jul 21, 2021 at 09:11:28PM +0200, Thomas Gleixner wrote:
> When MSI-X is enabled the ordering of calls is:
>
> msix_map_region();
> msix_setup_entries();
> pci_msi_setup_msi_irqs();
> msix_program_entries();
>
> This has a few interesting issues:
>
> 1) msix_setup_entries() allocates the msi descriptors and initializes them

s/msi/MSI/ (one or two more below)

> except for the msi_desc:masked member which is left zero initialized.
>
> 2) pci_msi_setup_msi_irqs() allocates the interrupt descriptors and sets
> up the MSI interrupts which ends up in pci_write_msi_msg() unless the
> interrupt chip provides it's own irq_write_msi_msg() function.

s/it's/its/

> 3) msix_program_entries() does not do what the name suggests. It solely
> updates the entries array (if not NULL) and initializes the masked
> member for each msi descriptor by reading the hardware state and then
> masks the entry.