On Mon, Jul 06, 2026 at 08:56:14AM +0200, Johan Hovold wrote:
> Make sure to drop the reference taken to the SCP device when attempting
> to look up its driver data before the driver has been bound.
>
> Note that holding a reference to a device does not prevent its driver
> data from going away.
>
> Fixes: 63c13d61eafe ("remoteproc/mediatek: add SCP support for mt8183")
> Cc: [email protected] # 5.6
> Cc: Erin Lo <[email protected]>
> Signed-off-by: Johan Hovold <[email protected]>
> ---
> drivers/remoteproc/mtk_scp.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
Applied.
Thanks,
Mathieu
> diff --git a/drivers/remoteproc/mtk_scp.c b/drivers/remoteproc/mtk_scp.c
> index 85a74c9ec521..436656bdfa8b 100644
> --- a/drivers/remoteproc/mtk_scp.c
> +++ b/drivers/remoteproc/mtk_scp.c
> @@ -36,6 +36,7 @@ struct mtk_scp *scp_get(struct platform_device *pdev)
> struct device *dev = &pdev->dev;
> struct device_node *scp_node;
> struct platform_device *scp_pdev;
> + struct mtk_scp *scp;
>
> scp_node = of_parse_phandle(dev->of_node, "mediatek,scp", 0);
> if (!scp_node) {
> @@ -51,7 +52,13 @@ struct mtk_scp *scp_get(struct platform_device *pdev)
> return NULL;
> }
>
> - return platform_get_drvdata(scp_pdev);
> + scp = platform_get_drvdata(scp_pdev);
> + if (!scp) {
> + put_device(&scp_pdev->dev);
> + return NULL;
> + }
> +
> + return scp;
> }
> EXPORT_SYMBOL_GPL(scp_get);
>
> --
> 2.54.0
>