From: Tejun Heo Date: Fri, 17 Nov 2006 07:22:27 +0000 (+0900) Subject: [PATCH] libata: set IRQF_SHARED for legacy PCI IDE IRQs X-Git-Tag: v2.6.20-rc1~34^2~40^2~9^2~16 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8070217d301d0ceab7d0c255d7b9d796256d37e7;p=linux-2.6 [PATCH] libata: set IRQF_SHARED for legacy PCI IDE IRQs There are machines out there which share legacy PCI IDE IRQs w/ other devices. libata SFF interrupt/HSM code is ready for shared IRQ and has been setting IRQF_SHARED for devices in native PCI mode. Device in legacy mode is still a PCI device and thus supposedly uses active-low level triggered IRQ. Machines with such setup should be quite rare and w/o this flag libata is likely to fail loading and render the system unuseable. Also, IDE driver has been setting IRQF_SHARED for devices in legacy mode for a looooong time. Signed-off-by: Tejun Heo --- diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c index 37471d3c1c..a57de4a5aa 100644 --- a/drivers/ata/libata-sff.c +++ b/drivers/ata/libata-sff.c @@ -906,6 +906,7 @@ static struct ata_probe_ent *ata_pci_init_legacy_port(struct pci_dev *pdev, return NULL; probe_ent->n_ports = 2; + probe_ent->irq_flags = IRQF_SHARED; if (port_mask & ATA_PORT_PRIMARY) { probe_ent->irq = ATA_PRIMARY_IRQ;