提交 3279167f 编写于 作者: A Arnd Bergmann 提交者: Yang Yingliang

irqchip/gic-v3: Fix OF_BAD_ADDR error handling

stable inclusion
from linux-4.19.191
commit f1dfa84c8f26d6bf372df85837ae0d7fbbc127a9

--------------------------------

[ Upstream commit 8e13d966 ]

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: 50528752 ("irqchip/gic-v3: Add support for Message Based Interrupts as an MSI controller")
Signed-off-by: NArnd Bergmann <arnd@arndb.de>
Signed-off-by: NMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210323131842.2773094-1-arnd@kernel.orgSigned-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 400e8d37
...@@ -297,7 +297,7 @@ int __init mbi_init(struct fwnode_handle *fwnode, struct irq_domain *parent) ...@@ -297,7 +297,7 @@ int __init mbi_init(struct fwnode_handle *fwnode, struct irq_domain *parent)
reg = of_get_property(np, "mbi-alias", NULL); reg = of_get_property(np, "mbi-alias", NULL);
if (reg) { if (reg) {
mbi_phys_base = of_translate_address(np, 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; ret = -ENXIO;
goto err_free_mbi; goto err_free_mbi;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册