Skip to content

Commit b9d9a02

Browse files
committed
firewire: ohci: obsolete usage of deprecated API for MSI
The usage of the pair of pci_enable_msi() and pci_disable_msi() is deprecated. This commit uses the preferred pair of API for the purpose. The call of pci_alloc_irq_vectors() can have a subeffect to change the return value of pci_dev_msi_enabled(). Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
1 parent d4cad41 commit b9d9a02

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

drivers/firewire/ohci.c

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3631,7 +3631,7 @@ static int pci_probe(struct pci_dev *dev,
36313631
struct fw_ohci *ohci;
36323632
u32 bus_options, max_receive, link_speed, version;
36333633
u64 guid;
3634-
int i, err;
3634+
int i, flags, err;
36353635
size_t size;
36363636

36373637
if (dev->vendor == PCI_VENDOR_ID_PINNACLE_SYSTEMS) {
@@ -3756,8 +3756,13 @@ static int pci_probe(struct pci_dev *dev,
37563756
guid = ((u64) reg_read(ohci, OHCI1394_GUIDHi) << 32) |
37573757
reg_read(ohci, OHCI1394_GUIDLo);
37583758

3759+
flags = PCI_IRQ_INTX;
37593760
if (!(ohci->quirks & QUIRK_NO_MSI))
3760-
pci_enable_msi(dev);
3761+
flags |= PCI_IRQ_MSI;
3762+
err = pci_alloc_irq_vectors(dev, 1, 1, flags);
3763+
if (err < 0)
3764+
return err;
3765+
37613766
err = request_threaded_irq(dev->irq, irq_handler, NULL,
37623767
pci_dev_msi_enabled(dev) ? 0 : IRQF_SHARED, ohci_driver_name,
37633768
ohci);
@@ -3784,7 +3789,7 @@ static int pci_probe(struct pci_dev *dev,
37843789
fail_irq:
37853790
free_irq(dev->irq, ohci);
37863791
fail_msi:
3787-
pci_disable_msi(dev);
3792+
pci_free_irq_vectors(dev);
37883793

37893794
return err;
37903795
}
@@ -3812,7 +3817,7 @@ static void pci_remove(struct pci_dev *dev)
38123817
software_reset(ohci);
38133818

38143819
free_irq(dev->irq, ohci);
3815-
pci_disable_msi(dev);
3820+
pci_free_irq_vectors(dev);
38163821

38173822
dev_notice(&dev->dev, "removing fw-ohci device\n");
38183823
}

0 commit comments

Comments
 (0)