diff options
author | Tejun Heo <htejun@gmail.com> | 2006-11-17 02:22:27 -0500 |
---|---|---|
committer | Tejun Heo <htejun@gmail.com> | 2006-12-03 03:56:23 -0500 |
commit | 8070217d301d0ceab7d0c255d7b9d796256d37e7 (patch) | |
tree | 7a256796645aef3b7a33b6b00244062bc42a9eee | |
parent | 582982e6991d6718ddadf8751072b50a850dde48 (diff) |
[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>
-rw-r--r-- | drivers/ata/libata-sff.c | 1 |
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, | |||
906 | return NULL; | 906 | return NULL; |
907 | 907 | ||
908 | probe_ent->n_ports = 2; | 908 | probe_ent->n_ports = 2; |
909 | probe_ent->irq_flags = IRQF_SHARED; | ||
909 | 910 | ||
910 | if (port_mask & ATA_PORT_PRIMARY) { | 911 | if (port_mask & ATA_PORT_PRIMARY) { |
911 | probe_ent->irq = ATA_PRIMARY_IRQ; | 912 | probe_ent->irq = ATA_PRIMARY_IRQ; |