From: Hidetoshi Seto Date: Fri, 19 Jun 2009 02:20:26 +0000 (-0700) Subject: PCI: make msi_free_irqs() to use msix_mask_irq() instead of open coded write X-Git-Tag: firefly_0821_release~13652^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2af5066f664cb011cf17d2e4414491fe24597e07;p=firefly-linux-kernel-4.4.55.git PCI: make msi_free_irqs() to use msix_mask_irq() instead of open coded write Use msix_mask_irq() instead of direct use of writel, so as not to clear preserved bits in the Vector Control register [31:1]. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes --- diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 944e45e4a84f..d9f06fbfa0bf 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -653,10 +653,7 @@ static int msi_free_irqs(struct pci_dev* dev) list_for_each_entry_safe(entry, tmp, &dev->msi_list, list) { if (entry->msi_attrib.is_msix) { - writel(1, entry->mask_base + entry->msi_attrib.entry_nr - * PCI_MSIX_ENTRY_SIZE - + PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET); - + msix_mask_irq(entry, 1); if (list_is_last(&entry->list, &dev->msi_list)) iounmap(entry->mask_base); }