FAILED: patch "[PATCH] drm/mediatek: ovl_adaptor: Fix probe device leaks" failed to apply to 6.12-stable tree
Subsystems (4)
[email protected]
maintainerThe patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.12.y
git checkout FETCH_HEAD
git cherry-pick -x e0f44f74ed6313e50b38eb39a2c7f210ae208db2
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026010623-surrender-evolve-4b79@gregkh' --subject-prefix 'PATCH 6.12.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From e0f44f74ed6313e50b38eb39a2c7f210ae208db2 Mon Sep 17 00:00:00 2001
From: Johan Hovold <[email protected]>
Date: Tue, 23 Sep 2025 17:23:40 +0200
Subject: [PATCH] drm/mediatek: ovl_adaptor: Fix probe device leaks
Make sure to drop the references taken to the component devices by of_find_device_by_node() during probe on probe failure (e.g. probe deferral) and on driver unbind.
drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c +12 -0
@@ -527,6 +527,13 @@ bool mtk_ovl_adaptor_is_comp_present(struct device_node *node) type ==OVL_ADAPTOR_TYPE_PADDING ; } +static void ovl_adaptor_put_device (void *_dev) +{ +struct device *dev = _dev; + +put_device (dev); +} +static int ovl_adaptor_comp_init (struct device *dev,struct component_match **match) {struct mtk_disp_ovl_adaptor *priv =dev_get_drvdata (dev);
@@ -560,6 +567,11 @@ static int ovl_adaptor_comp_init(struct device *dev, struct component_match **maif (!comp_pdev)return -EPROBE_DEFER ; + ret =devm_add_action_or_reset (dev, ovl_adaptor_put_device, + &comp_pdev->dev); +if (ret) +return ret; + priv->ovl_adaptor_comp[id] = &comp_pdev->dev;drm_of_component_match_add (dev, match, component_compare_of, node);