diff options
-rw-r--r-- | linux/dev/arch/i386/kernel/irq.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/linux/dev/arch/i386/kernel/irq.c b/linux/dev/arch/i386/kernel/irq.c index 8966dea..7faaa62 100644 --- a/linux/dev/arch/i386/kernel/irq.c +++ b/linux/dev/arch/i386/kernel/irq.c @@ -229,6 +229,10 @@ setup_x86_irq (int irq, struct linux_action *new) if ((old->flags ^ new->flags) & SA_INTERRUPT) return (-LINUX_EBUSY); + /* Can't share at different levels */ + if (intpri[irq] && linux_intr_pri != intpri[irq]) + return (-LINUX_EBUSY); + /* add new interrupt at end of irq queue */ do { |