From: Bibo Mao Date: Fri, 11 Aug 2023 09:58:04 +0000 (+0800) Subject: irqchip/loongson-eiointc: Fix return value checking of eiointc_index X-Git-Tag: v6.6-rc1~198^2^2~11 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=2e99b73afde18853754c5fae8e8d1a66fe5e3f64;p=users%2Fhch%2Fmisc.git irqchip/loongson-eiointc: Fix return value checking of eiointc_index 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 Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Marc Zyngier Link: https://lore.kernel.org/r/20230811095805.2974722-2-maobibo@loongson.cn --- diff --git a/drivers/irqchip/irq-loongson-eiointc.c b/drivers/irqchip/irq-loongson-eiointc.c index 92d8aa28bdf5..1623cd779175 100644 --- a/drivers/irqchip/irq-loongson-eiointc.c +++ b/drivers/irqchip/irq-loongson-eiointc.c @@ -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");