soc: amlogic: canvas: fix device leak on lookup
Make sure to drop the reference taken to the canvas 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. Also note that commit28f851e6af("soc: amlogic: canvas: add missing put_device() call in meson_canvas_get()") fixed the leak in a lookup error path, but the reference is still leaking on success. Fixes:d4983983d9("soc: amlogic: add meson-canvas driver") Cc: stable@vger.kernel.org # 4.20:28f851e6afCc: Yu Kuai <yukuai3@huawei.com> Signed-off-by: Johan Hovold <johan@kernel.org> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Link: https://patch.msgid.link/20250926142454.5929-2-johan@kernel.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
This commit is contained in:
committed by
Neil Armstrong
parent
3a86608788
commit
32200f4828
@@ -73,10 +73,9 @@ struct meson_canvas *meson_canvas_get(struct device *dev)
|
||||
* current state, this driver probe cannot return -EPROBE_DEFER
|
||||
*/
|
||||
canvas = dev_get_drvdata(&canvas_pdev->dev);
|
||||
if (!canvas) {
|
||||
put_device(&canvas_pdev->dev);
|
||||
put_device(&canvas_pdev->dev);
|
||||
if (!canvas)
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
|
||||
return canvas;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user