irqchip/loongson-eiointc: Fix return value checking of eiointc_index
authorBibo Mao <maobibo@loongson.cn>
Fri, 11 Aug 2023 09:58:04 +0000 (17:58 +0800)
committerMarc Zyngier <maz@kernel.org>
Mon, 21 Aug 2023 16:39:21 +0000 (17:39 +0100)
Return value of function eiointc_index is int, however it is converted
into uint32_t and then compared smaller than zero, this will cause logic
problem.

Fixes: dd281e1a1a93 ("irqchip: Add Loongson Extended I/O interrupt controller support")
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230811095805.2974722-2-maobibo@loongson.cn
drivers/irqchip/irq-loongson-eiointc.c

index 92d8aa2..1623cd7 100644 (file)
@@ -144,7 +144,7 @@ static int eiointc_router_init(unsigned int cpu)
        int i, bit;
        uint32_t data;
        uint32_t node = cpu_to_eio_node(cpu);
-       uint32_t index = eiointc_index(node);
+       int index = eiointc_index(node);
 
        if (index < 0) {
                pr_err("Error: invalid nodemap!\n");