1
0

soc: apple: mailbox: fix device leak on lookup

Make sure to drop the reference taken to the mbox platform device when
looking up its driver data.

Note that holding a reference to a device does not prevent its driver
data from going away so there is no point in keeping the reference.

Fixes: 6e1457fcad ("soc: apple: mailbox: Add ASC/M3 mailbox driver")
Cc: stable@vger.kernel.org	# 6.8
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Signed-off-by: Sven Peter <sven@kernel.org>
This commit is contained in:
Johan Hovold
2025-09-26 16:31:31 +02:00
committed by Sven Peter
parent 3a86608788
commit f401671e90

View File

@@ -302,11 +302,18 @@ struct apple_mbox *apple_mbox_get(struct device *dev, int index)
return ERR_PTR(-EPROBE_DEFER);
mbox = platform_get_drvdata(pdev);
if (!mbox)
return ERR_PTR(-EPROBE_DEFER);
if (!mbox) {
mbox = ERR_PTR(-EPROBE_DEFER);
goto out_put_pdev;
}
if (!device_link_add(dev, &pdev->dev, DL_FLAG_AUTOREMOVE_CONSUMER))
return ERR_PTR(-ENODEV);
if (!device_link_add(dev, &pdev->dev, DL_FLAG_AUTOREMOVE_CONSUMER)) {
mbox = ERR_PTR(-ENODEV);
goto out_put_pdev;
}
out_put_pdev:
put_device(&pdev->dev);
return mbox;
}