firmware: tegra: Fix error return code in tegra210_bpmp_init()
authorZhen Lei <thunder.leizhen@huawei.com>
Thu, 13 May 2021 13:26:46 +0000 (21:26 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:05:56 +0000 (16:05 +0200)
[ Upstream commit 7fea67710e9f6a111a2c9440576f2396ccd92d57 ]

When call irq_get_irq_data() to get the IRQ's irq_data failed, an
appropriate error code -ENOENT should be returned. However, we directly
return 'err', which records the IRQ number instead of the error code.

Fixes: 139251fc2208 ("firmware: tegra: add bpmp driver for Tegra210")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/firmware/tegra/bpmp-tegra210.c

index ae15940..c327540 100644 (file)
@@ -210,7 +210,7 @@ static int tegra210_bpmp_init(struct tegra_bpmp *bpmp)
        priv->tx_irq_data = irq_get_irq_data(err);
        if (!priv->tx_irq_data) {
                dev_err(&pdev->dev, "failed to get IRQ data for TX IRQ\n");
-               return err;
+               return -ENOENT;
        }
 
        err = platform_get_irq_byname(pdev, "rx");