Commit 5ec58799 authored by Bjorn Helgaas's avatar Bjorn Helgaas
Browse files

Merge branch 'pci/controller/dra7xx'

- Request IRQF_ONESHOT for 'dra7xx-pcie-main' IRQ since the primary handler
  is NULL (Siddharth Vadapalli)

- Handle IRQ request errors during root port and endpoint probe (Siddharth
  Vadapalli)

* pci/controller/dra7xx:
  PCI: dra7xx: Fix error handling when IRQ request fails in probe
  PCI: dra7xx: Fix threaded IRQ request for "dra7xx-pcie-main" IRQ
parents da71957c 4d60f6d4
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -850,14 +850,21 @@ static int dra7xx_pcie_probe(struct platform_device *pdev)
	dra7xx->mode = mode;

	ret = devm_request_threaded_irq(dev, irq, NULL, dra7xx_pcie_irq_handler,
			       IRQF_SHARED, "dra7xx-pcie-main", dra7xx);
					IRQF_SHARED | IRQF_ONESHOT,
					"dra7xx-pcie-main", dra7xx);
	if (ret) {
		dev_err(dev, "failed to request irq\n");
		goto err_gpio;
		goto err_deinit;
	}

	return 0;

err_deinit:
	if (dra7xx->mode == DW_PCIE_RC_TYPE)
		dw_pcie_host_deinit(&dra7xx->pci->pp);
	else
		dw_pcie_ep_deinit(&dra7xx->pci->ep);

err_gpio:
err_get_sync:
	pm_runtime_put(dev);