]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/bridge: fix OF node leak
authorJohan Hovold <johan@kernel.org>
Tue, 8 Jul 2025 08:51:23 +0000 (10:51 +0200)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Sat, 2 Aug 2025 17:47:16 +0000 (20:47 +0300)
Make sure to drop the OF node reference taken when creating the aux
bridge device when the device is later released.

Fixes: 6914968a0b52 ("drm/bridge: properly refcount DT nodes in aux bridge drivers")
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250708085124.15445-2-johan@kernel.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drivers/gpu/drm/bridge/aux-bridge.c

index b63304d3a80f4df6b0a8ce648fe5603d364eb260..b3e4cdff61d6be154331391296eea6a748036117 100644 (file)
@@ -18,6 +18,7 @@ static void drm_aux_bridge_release(struct device *dev)
 {
        struct auxiliary_device *adev = to_auxiliary_dev(dev);
 
+       of_node_put(dev->of_node);
        ida_free(&drm_aux_bridge_ida, adev->id);
 
        kfree(adev);
@@ -65,6 +66,7 @@ int drm_aux_bridge_register(struct device *parent)
 
        ret = auxiliary_device_init(adev);
        if (ret) {
+               of_node_put(adev->dev.of_node);
                ida_free(&drm_aux_bridge_ida, adev->id);
                kfree(adev);
                return ret;