From: ruanjinjie Date: Mon, 24 Jul 2023 14:41:08 +0000 (+0000) Subject: dmaengine: ste_dma40: Add missing IRQ check in d40_probe X-Git-Tag: v4.14.326~91 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4573b3a8b390fc2299ff292495be3dc7258cecc5;p=thirdparty%2Fkernel%2Fstable.git dmaengine: ste_dma40: Add missing IRQ check in d40_probe [ 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 Reviewed-by: Linus Walleij Link: https://lore.kernel.org/r/20230724144108.2582917-1-ruanjinjie@huawei.com Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin --- diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c index ee15d4fefbad2..498d9886ed9bc 100644 --- a/drivers/dma/ste_dma40.c +++ b/drivers/dma/ste_dma40.c @@ -3577,6 +3577,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) {