aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq/spurious.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/irq/spurious.c')
-rw-r--r--kernel/irq/spurious.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c
index 89fb90ae534f..a9a662847e44 100644
--- a/kernel/irq/spurious.c
+++ b/kernel/irq/spurious.c
@@ -54,9 +54,9 @@ static int try_one_irq(int irq, struct irq_desc *desc)
54 } 54 }
55 action = action->next; 55 action = action->next;
56 } 56 }
57 local_irq_disable(); 57
58 /* Now clean up the flags */ 58 /* Now clean up the flags */
59 raw_spin_lock(&desc->lock); 59 raw_spin_lock_irq(&desc->lock);
60 action = desc->action; 60 action = desc->action;
61 61
62 /* 62 /*
@@ -278,6 +278,11 @@ MODULE_PARM_DESC(noirqdebug, "Disable irq lockup detection when true");
278 278
279static int __init irqfixup_setup(char *str) 279static int __init irqfixup_setup(char *str)
280{ 280{
281#ifdef CONFIG_PREEMPT_RT
282 printk(KERN_WARNING "irqfixup boot option not supported "
283 "w/ CONFIG_PREEMPT_RT\n");
284 return 1;
285#endif
281 irqfixup = 1; 286 irqfixup = 1;
282 printk(KERN_WARNING "Misrouted IRQ fixup support enabled.\n"); 287 printk(KERN_WARNING "Misrouted IRQ fixup support enabled.\n");
283 printk(KERN_WARNING "This may impact system performance.\n"); 288 printk(KERN_WARNING "This may impact system performance.\n");
@@ -290,6 +295,11 @@ module_param(irqfixup, int, 0644);
290 295
291static int __init irqpoll_setup(char *str) 296static int __init irqpoll_setup(char *str)
292{ 297{
298#ifdef CONFIG_PREEMPT_RT
299 printk(KERN_WARNING "irqpoll boot option not supported "
300 "w/ CONFIG_PREEMPT_RT\n");
301 return 1;
302#endif
293 irqfixup = 2; 303 irqfixup = 2;
294 printk(KERN_WARNING "Misrouted IRQ fixup and polling support " 304 printk(KERN_WARNING "Misrouted IRQ fixup and polling support "
295 "enabled\n"); 305 "enabled\n");