hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/kernel/irq/spurious.c
....@@ -34,6 +34,7 @@
3434 * true and let the handler run.
3535 */
3636 bool irq_wait_for_poll(struct irq_desc *desc)
37
+ __must_hold(&desc->lock)
3738 {
3839 if (WARN_ONCE(irq_poll_cpu == smp_processor_id(),
3940 "irq poll in progress on cpu %d for irq %d\n",
....@@ -66,7 +67,7 @@
6667 raw_spin_lock(&desc->lock);
6768
6869 /*
69
- * PER_CPU, nested thread interrupts and interrupts explicitely
70
+ * PER_CPU, nested thread interrupts and interrupts explicitly
7071 * marked polled are excluded from polling.
7172 */
7273 if (irq_settings_is_per_cpu(desc) ||
....@@ -76,7 +77,7 @@
7677
7778 /*
7879 * Do not poll disabled interrupts unless the spurious
79
- * disabled poller asks explicitely.
80
+ * disabled poller asks explicitly.
8081 */
8182 if (irqd_irq_disabled(&desc->irq_data) && !force)
8283 goto out;
....@@ -212,9 +213,9 @@
212213 */
213214 raw_spin_lock_irqsave(&desc->lock, flags);
214215 for_each_action_of_desc(desc, action) {
215
- printk(KERN_ERR "[<%p>] %pf", action->handler, action->handler);
216
+ printk(KERN_ERR "[<%p>] %ps", action->handler, action->handler);
216217 if (action->thread_fn)
217
- printk(KERN_CONT " threaded [<%p>] %pf",
218
+ printk(KERN_CONT " threaded [<%p>] %ps",
218219 action->thread_fn, action->thread_fn);
219220 printk(KERN_CONT "\n");
220221 }
....@@ -292,7 +293,7 @@
292293 * So in case a thread is woken, we just note the fact and
293294 * defer the analysis to the next hardware interrupt.
294295 *
295
- * The threaded handlers store whether they sucessfully
296
+ * The threaded handlers store whether they successfully
296297 * handled an interrupt and we check whether that number
297298 * changed versus the last invocation.
298299 *
....@@ -442,6 +443,10 @@
442443
443444 static int __init irqfixup_setup(char *str)
444445 {
446
+#ifdef CONFIG_PREEMPT_RT
447
+ pr_warn("irqfixup boot option not supported w/ CONFIG_PREEMPT_RT\n");
448
+ return 1;
449
+#endif
445450 irqfixup = 1;
446451 printk(KERN_WARNING "Misrouted IRQ fixup support enabled.\n");
447452 printk(KERN_WARNING "This may impact system performance.\n");
....@@ -454,6 +459,10 @@
454459
455460 static int __init irqpoll_setup(char *str)
456461 {
462
+#ifdef CONFIG_PREEMPT_RT
463
+ pr_warn("irqpoll boot option not supported w/ CONFIG_PREEMPT_RT\n");
464
+ return 1;
465
+#endif
457466 irqfixup = 2;
458467 printk(KERN_WARNING "Misrouted IRQ fixup and polling support "
459468 "enabled\n");