genirq/timings: Fix error return code in irq_timings_test_irqs()
authorZhen Lei <thunder.leizhen@huawei.com>
Wed, 11 Aug 2021 09:33:32 +0000 (17:33 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 11 Aug 2021 12:33:35 +0000 (14:33 +0200)
Return a negative error code from the error handling case instead of 0, as
done elsewhere in this function.

Fixes: f52da98d900e ("genirq/timings: Add selftest for irqs circular buffer")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20210811093333.2376-1-thunder.leizhen@huawei.com
kernel/irq/timings.c

index d309d6f..59affb3 100644 (file)
@@ -794,12 +794,14 @@ static int __init irq_timings_test_irqs(struct timings_intervals *ti)
 
                __irq_timings_store(irq, irqs, ti->intervals[i]);
                if (irqs->circ_timings[i & IRQ_TIMINGS_MASK] != index) {
+                       ret = -EBADSLT;
                        pr_err("Failed to store in the circular buffer\n");
                        goto out;
                }
        }
 
        if (irqs->count != ti->count) {
+               ret = -ERANGE;
                pr_err("Count differs\n");
                goto out;
        }