From: Arnd Bergmann <a...@arndb.de>

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 <a...@arndb.de>
---
 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.29.2

Reply via email to