In case the affinity of an interrupt was broken, a printk is emitted.

But if the affinity cannot be set at all due to a missing
irq_set_affinity() callback or due to a failing callback, the message is
still printed preceeded by a warning/error.

That makes no sense whatsoever.

Signed-off-by: Thomas Gleixner <t...@linutronix.de>
---
 kernel/irq/cpuhotplug.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- a/kernel/irq/cpuhotplug.c
+++ b/kernel/irq/cpuhotplug.c
@@ -37,11 +37,14 @@ static bool migrate_one_irq(struct irq_d
        c = irq_data_get_irq_chip(d);
        if (!c->irq_set_affinity) {
                pr_debug("IRQ%u: unable to set affinity\n", d->irq);
+               ret = false;
        } else {
                int r = irq_do_set_affinity(d, affinity, false);
-               if (r)
+               if (r) {
                        pr_warn_ratelimited("IRQ%u: set affinity failed(%d).\n",
                                            d->irq, r);
+                       ret = false;
+               }
        }
 
        return ret;


Reply via email to