aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/msi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/msi.c')
-rw-r--r--drivers/pci/msi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 06c5f6edb150..afdc388b9553 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -22,7 +22,6 @@
22#include <linux/slab.h> 22#include <linux/slab.h>
23 23
24#include "pci.h" 24#include "pci.h"
25#include "msi.h"
26 25
27static int pci_msi_enable = 1; 26static int pci_msi_enable = 1;
28 27
@@ -564,7 +563,8 @@ static int msi_capability_init(struct pci_dev *dev, int nvec)
564 entry->msi_attrib.default_irq = dev->irq; /* Save IOAPIC IRQ */ 563 entry->msi_attrib.default_irq = dev->irq; /* Save IOAPIC IRQ */
565 entry->msi_attrib.pos = dev->msi_cap; 564 entry->msi_attrib.pos = dev->msi_cap;
566 565
567 entry->mask_pos = msi_mask_reg(dev->msi_cap, entry->msi_attrib.is_64); 566 entry->mask_pos = dev->msi_cap + (control & PCI_MSI_FLAGS_64BIT) ?
567 PCI_MSI_MASK_64 : PCI_MSI_MASK_32;
568 /* All MSIs are unmasked by default, Mask them all */ 568 /* All MSIs are unmasked by default, Mask them all */
569 if (entry->msi_attrib.maskbit) 569 if (entry->msi_attrib.maskbit)
570 pci_read_config_dword(dev, entry->mask_pos, &entry->masked); 570 pci_read_config_dword(dev, entry->mask_pos, &entry->masked);