]> git.hungrycats.org Git - linux/commitdiff
dmaengine: ste_dma40: Add missing IRQ check in d40_probe
authorruanjinjie <ruanjinjie@huawei.com>
Mon, 24 Jul 2023 14:41:08 +0000 (14:41 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Sep 2023 07:48:36 +0000 (09:48 +0200)
[ Upstream commit c05ce6907b3d6e148b70f0bb5eafd61dcef1ddc1 ]

Check for the return value of platform_get_irq(): if no interrupt
is specified, it wouldn't make sense to call request_irq().

Fixes: 8d318a50b3d7 ("DMAENGINE: Support for ST-Ericssons DMA40 block v3")
Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20230724144108.2582917-1-ruanjinjie@huawei.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/dma/ste_dma40.c

index f093e08c23b160d8e5a15a1c647f9ce0b50f1c70..3b09fdc507e041cddbea1258eace223826914bb1 100644 (file)
@@ -3597,6 +3597,10 @@ static int __init d40_probe(struct platform_device *pdev)
        spin_lock_init(&base->lcla_pool.lock);
 
        base->irq = platform_get_irq(pdev, 0);
+       if (base->irq < 0) {
+               ret = base->irq;
+               goto destroy_cache;
+       }
 
        ret = request_irq(base->irq, d40_handle_interrupt, 0, D40_NAME, base);
        if (ret) {