summaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-11-17 08:22:27 +0100
committerTejun Heo <htejun@gmail.com>2006-12-03 09:56:23 +0100
commit8070217d301d0ceab7d0c255d7b9d796256d37e7 (patch)
tree7a256796645aef3b7a33b6b00244062bc42a9eee /drivers/ata
parent[PATCH] libata: remove unused HSM_ST_UNKNOWN (diff)
downloadlinux-8070217d301d0ceab7d0c255d7b9d796256d37e7.tar.xz
linux-8070217d301d0ceab7d0c255d7b9d796256d37e7.zip
[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 <htejun@gmail.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-sff.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 37471d3c1c28..a57de4a5aa45 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;