[1/2] PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code
mpe at ellerman.id.au
Wed Aug 26 22:23:12 AEST 2015
On Mon, 2015-24-08 at 12:42:46 UTC, Michael Ellerman wrote:
> From: "Guilherme G. Piccoli" <gpiccoli at linux.vnet.ibm.com>
> Commit 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel
> doesn't support MSI") changed the location of the code that initialises
> dev->msi_cap/msix_cap and then disables MSI/MSI-X interrupts at PCI
> probe time in devices that have this flag set. It moved the code from
> pci_msi_init_pci_dev() to a new function named pci_msi_setup_pci_dev(),
> called by pci_setup_device().
> The pseries PCI probing code does not call pci_setup_device(), so since
> the aforementioned commit the function pci_msi_setup_pci_dev() is not
> called and MSI/MSI-X interrupts are left enabled. Additionally because
> dev->msi_cap/msix_cap are not initialised no driver can ever enable
> To fix this, the pseries PCI probe should manually call
> pci_msi_setup_pci_dev(), so this patch makes it non-static.
> Fixes: 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI")
> [mpe: Update change log to mention dev->msi_cap/msix_cap]
> Signed-off-by: Guilherme G. Piccoli <gpiccoli at linux.vnet.ibm.com>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
Applied to powerpc fixes.
More information about the Linuxppc-dev