| From 862ae47d5585e2ade1758d3a3bbfa668771f36ee Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 23 Mar 2021 14:18:35 +0100 |
| Subject: irqchip/gic-v3: Fix OF_BAD_ADDR error handling |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| [ Upstream commit 8e13d96670a4c050d4883e6743a9e9858e5cfe10 ] |
| |
| When building with extra warnings enabled, clang points out a |
| mistake in the error handling: |
| |
| drivers/irqchip/irq-gic-v3-mbi.c:306:21: error: result of comparison of constant 18446744073709551615 with expression of type 'phys_addr_t' (aka 'unsigned int') is always false [-Werror,-Wtautological-constant-out-of-range-compare] |
| if (mbi_phys_base == OF_BAD_ADDR) { |
| |
| Truncate the constant to the same type as the variable it gets compared |
| to, to shut make the check work and void the warning. |
| |
| Fixes: 505287525c24 ("irqchip/gic-v3: Add support for Message Based Interrupts as an MSI controller") |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Signed-off-by: Marc Zyngier <maz@kernel.org> |
| Link: https://lore.kernel.org/r/20210323131842.2773094-1-arnd@kernel.org |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/irqchip/irq-gic-v3-mbi.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/irqchip/irq-gic-v3-mbi.c b/drivers/irqchip/irq-gic-v3-mbi.c |
| index 563a9b366294..e81e89a81cb5 100644 |
| --- a/drivers/irqchip/irq-gic-v3-mbi.c |
| +++ b/drivers/irqchip/irq-gic-v3-mbi.c |
| @@ -303,7 +303,7 @@ int __init mbi_init(struct fwnode_handle *fwnode, struct irq_domain *parent) |
| reg = of_get_property(np, "mbi-alias", NULL); |
| if (reg) { |
| mbi_phys_base = of_translate_address(np, reg); |
| - if (mbi_phys_base == OF_BAD_ADDR) { |
| + if (mbi_phys_base == (phys_addr_t)OF_BAD_ADDR) { |
| ret = -ENXIO; |
| goto err_free_mbi; |
| } |
| -- |
| 2.30.2 |
| |