Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c591c2e3 authored by Alexey Kardashevskiy's avatar Alexey Kardashevskiy Committed by Bjorn Helgaas
Browse files

powerpc/pci: Fix broken INTx configuration via OF



59f47eff ("powerpc/pci: Use of_irq_parse_and_map_pci() helper")
replaced of_irq_parse_pci() + irq_create_of_mapping() with
of_irq_parse_and_map_pci(), but neglected to capture the virq
returned by irq_create_of_mapping(), so virq remained zero, which
caused INTx configuration to fail.

Save the virq value returned by of_irq_parse_and_map_pci() and correct
the virq declaration to match the of_irq_parse_and_map_pci() signature.

Fixes: 59f47eff "powerpc/pci: Use of_irq_parse_and_map_pci() helper"
Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
[bhelgaas: changelog]
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent ab8c6093
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -339,7 +339,7 @@ struct pci_controller* pci_find_hose_for_OF_device(struct device_node* node)
 */
static int pci_read_irq_line(struct pci_dev *pci_dev)
{
	unsigned int virq = 0;
	int virq;

	pr_debug("PCI: Try to map irq for %s...\n", pci_name(pci_dev));

@@ -347,7 +347,8 @@ static int pci_read_irq_line(struct pci_dev *pci_dev)
	memset(&oirq, 0xff, sizeof(oirq));
#endif
	/* Try to get a mapping from the device-tree */
	if (!of_irq_parse_and_map_pci(pci_dev, 0, 0)) {
	virq = of_irq_parse_and_map_pci(pci_dev, 0, 0);
	if (virq <= 0) {
		u8 line, pin;

		/* If that fails, lets fallback to what is in the config