mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
MediaTek soc driver updates for v6.14
This adds fixes avoiding iomap leaks on error paths in the MediaTek devapc driver. -----BEGIN PGP SIGNATURE----- iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCZ35GhCgcYW5nZWxvZ2lv YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R44ZcBAOK1 5yka/w6R2qKYnzltNGdCnjxpovAnW2trFBA/vnbEAQCSmm2aDqqG67yvbrMFHJRb Ok16cqdRfgXWKRvDrl9bBA== =5WSn -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeHy9wACgkQYKtH/8kJ Uid+NxAAir9xb/02OV6KEnvXkr+qGt2fhfANXWjG65ujQm+/7Xh8+Iprg363qPjr gsuDQ6nRmt0vgQx2ASjcmq52zFmhhqQB+xdKFEB7JlfNatBxycL7YHgaVoCxbgZ+ IiCEkTDHhJxSWZn2DnujrCqa7DC8bPwtjusAtXCU3vesVP+AzdrvuSChnQ0stAQ2 WkirCjMIwMFXz4jv/ncDZPX0i9Z3k0tbJMVzmkr7ULHQ265dgie75hNIKw2rvH5p BHatkfnewnjRsmP/0e0XinL2saMNyPof2kpEXljYGuwI5XYOhFy+HPSYH53PyD3g cyNSC4ixGgGHFFZjX5hOJ+JM7XTo0riny5rpGwTAypSMT9dGxP0RVMPCJcLtEOPC VcHmZ2bMqYojDrhB5H+5XpIAvEB9AwaNR8swp/HGmVX1s31dyefNWeBNdR44V6XX hqcKYUPTViSI5N2qk7PqmnATWyFE9bounxPiKxq/XHhwl8rw0s/vJumXfym008nq zIrXWnn/G49eb8F7amR/RssYtkF+2jEiiO5sD7Q4HHqXNlMlV9KCm/gImrBlhAtA J9c0d/PMbZRChtxxpQ6fxfrHMxUJ7vLBMA9KRcIV9LZL2HQdyd1sgEiHUtKZ8mmX OtE7U/DcI+4mcLCT/71HN6Fi5Qt4Zv6NKkHoUNmfCJnpjr9c3to= =z7u7 -----END PGP SIGNATURE----- Merge tag 'mtk-soc-for-v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/drivers MediaTek soc driver updates for v6.14 This adds fixes avoiding iomap leaks on error paths in the MediaTek devapc driver. * tag 'mtk-soc-for-v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: soc: mediatek: mtk-devapc: Fix leaking IO map on driver remove soc: mediatek: mtk-devapc: Fix leaking IO map on error paths Link: https://lore.kernel.org/r/20250108100826.32458-2-angelogioacchino.delregno@collabora.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
f783d74ca6
|
|
@ -273,23 +273,31 @@ static int mtk_devapc_probe(struct platform_device *pdev)
|
|||
return -EINVAL;
|
||||
|
||||
devapc_irq = irq_of_parse_and_map(node, 0);
|
||||
if (!devapc_irq)
|
||||
return -EINVAL;
|
||||
if (!devapc_irq) {
|
||||
ret = -EINVAL;
|
||||
goto err;
|
||||
}
|
||||
|
||||
ctx->infra_clk = devm_clk_get_enabled(&pdev->dev, "devapc-infra-clock");
|
||||
if (IS_ERR(ctx->infra_clk))
|
||||
return -EINVAL;
|
||||
if (IS_ERR(ctx->infra_clk)) {
|
||||
ret = -EINVAL;
|
||||
goto err;
|
||||
}
|
||||
|
||||
ret = devm_request_irq(&pdev->dev, devapc_irq, devapc_violation_irq,
|
||||
IRQF_TRIGGER_NONE, "devapc", ctx);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto err;
|
||||
|
||||
platform_set_drvdata(pdev, ctx);
|
||||
|
||||
start_devapc(ctx);
|
||||
|
||||
return 0;
|
||||
|
||||
err:
|
||||
iounmap(ctx->infra_base);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void mtk_devapc_remove(struct platform_device *pdev)
|
||||
|
|
@ -297,6 +305,7 @@ static void mtk_devapc_remove(struct platform_device *pdev)
|
|||
struct mtk_devapc_context *ctx = platform_get_drvdata(pdev);
|
||||
|
||||
stop_devapc(ctx);
|
||||
iounmap(ctx->infra_base);
|
||||
}
|
||||
|
||||
static struct platform_driver mtk_devapc_driver = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user