Skip to content

Commit 22b6839

Browse files
Guilherme G. Piccolimpe
authored andcommitted
PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code
Commit 1851617 ("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 MSI/MSI-X. To fix this, the pseries PCI probe should manually call pci_msi_setup_pci_dev(), so this patch makes it non-static. Fixes: 1851617 ("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 <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
1 parent c13dcf9 commit 22b6839

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

drivers/pci/probe.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1108,7 +1108,7 @@ int pci_cfg_space_size(struct pci_dev *dev)
11081108

11091109
#define LEGACY_IO_RESOURCE (IORESOURCE_IO | IORESOURCE_PCI_FIXED)
11101110

1111-
static void pci_msi_setup_pci_dev(struct pci_dev *dev)
1111+
void pci_msi_setup_pci_dev(struct pci_dev *dev)
11121112
{
11131113
/*
11141114
* Disable the MSI hardware to avoid screaming interrupts

include/linux/pci.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1202,6 +1202,7 @@ struct msix_entry {
12021202
u16 entry; /* driver uses to specify entry, OS writes */
12031203
};
12041204

1205+
void pci_msi_setup_pci_dev(struct pci_dev *dev);
12051206

12061207
#ifdef CONFIG_PCI_MSI
12071208
int pci_msi_vec_count(struct pci_dev *dev);

0 commit comments

Comments
 (0)