diff options
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/sn/kernel/irq.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/ia64/sn/kernel/irq.c b/arch/ia64/sn/kernel/irq.c index bfa43e4c7ef7..360047389449 100644 --- a/arch/ia64/sn/kernel/irq.c +++ b/arch/ia64/sn/kernel/irq.c | |||
@@ -405,7 +405,10 @@ sn_call_force_intr_provider(struct sn_irq_info *sn_irq_info) | |||
405 | struct sn_pcibus_provider *pci_provider; | 405 | struct sn_pcibus_provider *pci_provider; |
406 | 406 | ||
407 | pci_provider = sn_pci_provider[sn_irq_info->irq_bridge_type]; | 407 | pci_provider = sn_pci_provider[sn_irq_info->irq_bridge_type]; |
408 | if (pci_provider && pci_provider->force_interrupt) | 408 | |
409 | /* Don't force an interrupt if the irq has been disabled */ | ||
410 | if (!(irq_desc[sn_irq_info->irq_irq].status & IRQ_DISABLED) && | ||
411 | pci_provider && pci_provider->force_interrupt) | ||
409 | (*pci_provider->force_interrupt)(sn_irq_info); | 412 | (*pci_provider->force_interrupt)(sn_irq_info); |
410 | } | 413 | } |
411 | 414 | ||