mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-23 15:20:35 -05:00
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
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user