[PATCH] libata: set IRQF_SHARED for legacy PCI IDE IRQs
authorTejun Heo <htejun@gmail.com>
Fri, 17 Nov 2006 07:22:27 +0000 (16:22 +0900)
committerTejun Heo <htejun@gmail.com>
Sun, 3 Dec 2006 08:56:23 +0000 (17:56 +0900)
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 <htejun@gmail.com>
drivers/ata/libata-sff.c

index 37471d3c1c283a20b9450e20118071a3f80f3cf6..a57de4a5aa452602360f9e6122dc4133f8db282c 100644 (file)
@@ -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;