[PATCH v2 3/9] ata: ahci: custom irq init for host init
sven.auhagen at voleatech.de
sven.auhagen at voleatech.de
Wed Nov 4 10:52:31 EST 2020
From: Sven Auhagen <sven.auhagen at voleatech.de>
Disable the platform irq init in ahci init platform host
if it was initiated by a custom function.
To check for it I am using the AHCI_HFLAG_MULTI_MSI flag.
Suggested-by: Hans de Goede <hdegoede at redhat.com>
Signed-off-by: Sven Auhagen <sven.auhagen at voleatech.de>
---
drivers/ata/libahci_platform.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/drivers/ata/libahci_platform.c b/drivers/ata/libahci_platform.c
index de638dafce21..f6f2a111d226 100644
--- a/drivers/ata/libahci_platform.c
+++ b/drivers/ata/libahci_platform.c
@@ -581,14 +581,16 @@ int ahci_platform_init_host(struct platform_device *pdev,
struct ata_host *host;
int i, irq, n_ports, rc;
- irq = platform_get_irq(pdev, 0);
- if (irq <= 0) {
- if (irq != -EPROBE_DEFER)
- dev_err(dev, "no irq\n");
- return irq;
- }
+ if (!(hpriv->flags & AHCI_HFLAG_MULTI_MSI)) {
+ irq = platform_get_irq(pdev, 0);
+ if (irq <= 0) {
+ if (irq != -EPROBE_DEFER)
+ dev_err(dev, "no irq\n");
+ return irq;
+ }
- hpriv->irq = irq;
+ hpriv->irq = irq;
+ }
/* prepare host */
pi.private_data = (void *)(unsigned long)hpriv->flags;
--
2.20.1
More information about the linux-arm-kernel
mailing list