* Re: [PATCH] drm/sun4i: Fix pdev reference leak in sun8i_r40_tcon_tv_set_mux()
2026-09-16 18:24 [PATCH] drm/sun4i: Fix pdev reference leak in sun8i_r40_tcon_tv_set_mux() Wentao Liang
@ 2026-09-16 18:30 ` sashiko-bot
2026-09-17 13:57 ` kernel test robot
2026-09-17 20:29 ` kernel test robot
2 siblings, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-09-16 18:30 UTC (permalink / raw)
To: Wentao Liang; +Cc: dri-devel, linux-sunxi
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] drm/sun4i: misapplied patch causes build failure
--
commit 576ab0ea69ae3e401d6153bcb00f1e660850ae75
Author: Wentao Liang <vulab@iscas.ac.cn>
drm/sun4i: Fix pdev reference leak in sun8i_r40_tcon_tv_set_mux()
This commit attempts to fix a claimed reference leak in the success path of
sun8i_r40_tcon_tv_set_mux(). However, the patch modifies the wrong function
and introduces a build failure.
Fixes: 0305189afb32 ("drm/sun4i: tcon: Add support for R40 TCON")
Cc: stable@vger.kernel.org
> drm/sun4i: Fix pdev reference leak in sun8i_r40_tcon_tv_set_mux()
>
> of_find_device_by_node() takes a reference to the TCON TOP device
> which the error paths release, but the success path returns without
> doing so. Drop the reference before returning success.
The commit message states it fixes a leak in sun8i_r40_tcon_tv_set_mux(),
but the patch actually modifies sun4i_tcon_init_clocks().
Looking at sun8i_r40_tcon_tv_set_mux() in the baseline, the success path
appears to fall through to the out_put_device label, which already correctly
drops the reference:
out_put_device:
put_device(&pdev->dev);
return ret;
Could the commit message be referencing an issue that does not exist in
this tree, or was the patch misapplied?
> diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
> index bf405a2aa3249..b5a85738876ee 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
> @@ -808,6 +808,8 @@ static int sun4i_tcon_init_clocks(struct device *dev,
> }
> }
>
> + put_device(&pdev->dev);
[Severity: Low]
Does this code compile? The variable pdev is undeclared in the scope of
sun4i_tcon_init_clocks(), which causes a build failure.
> +
> return 0;
> }
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260916182412.2091681-1-vulab@iscas.ac.cn?part=1
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] drm/sun4i: Fix pdev reference leak in sun8i_r40_tcon_tv_set_mux()
2026-09-16 18:24 [PATCH] drm/sun4i: Fix pdev reference leak in sun8i_r40_tcon_tv_set_mux() Wentao Liang
2026-09-16 18:30 ` sashiko-bot
@ 2026-09-17 13:57 ` kernel test robot
2026-09-17 20:29 ` kernel test robot
2 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2026-09-17 13:57 UTC (permalink / raw)
To: Wentao Liang, airlied
Cc: oe-kbuild-all, dri-devel, jernej.skrabec, linux-arm-kernel,
linux-kernel, linux-sunxi, maarten.lankhorst, mripard, samuel,
simona, tzimmermann, wens, Wentao Liang, stable
Hi Wentao,
kernel test robot noticed the following build errors:
[auto build test ERROR on sunxi/sunxi/for-next]
[also build test ERROR on daeinki-drm-exynos/exynos-drm-next drm/drm-next drm-i915/for-linux-next drm-i915/for-linux-next-fixes drm-misc/drm-misc-next drm-tip/drm-tip linus/master v7.3-rc3 next-20260916]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Wentao-Liang/drm-sun4i-Fix-pdev-reference-leak-in-sun8i_r40_tcon_tv_set_mux/20260916-182412
base: https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git sunxi/for-next
patch link: https://lore.kernel.org/r/20260916182412.2091681-1-vulab%40iscas.ac.cn
patch subject: [PATCH] drm/sun4i: Fix pdev reference leak in sun8i_r40_tcon_tv_set_mux()
config: alpha-randconfig-r1306-20260917 (https://download.01.org/0day-ci/archive/20260917/202609172103.AfhCF3XZ-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 15.2.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260917/202609172103.AfhCF3XZ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609172103.AfhCF3XZ-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/gpu/drm/sun4i/sun4i_tcon.c: In function 'sun4i_tcon_init_clocks':
>> drivers/gpu/drm/sun4i/sun4i_tcon.c:811:21: error: 'pdev' undeclared (first use in this function); did you mean 'dev'?
811 | put_device(&pdev->dev);
| ^~~~
| dev
drivers/gpu/drm/sun4i/sun4i_tcon.c:811:21: note: each undeclared identifier is reported only once for each function it appears in
vim +811 drivers/gpu/drm/sun4i/sun4i_tcon.c
785
786 static int sun4i_tcon_init_clocks(struct device *dev,
787 struct sun4i_tcon *tcon)
788 {
789 tcon->clk = devm_clk_get_enabled(dev, "ahb");
790 if (IS_ERR(tcon->clk)) {
791 dev_err(dev, "Couldn't get the TCON bus clock\n");
792 return PTR_ERR(tcon->clk);
793 }
794
795 if (tcon->quirks->has_channel_0) {
796 tcon->sclk0 = devm_clk_get_enabled(dev, "tcon-ch0");
797 if (IS_ERR(tcon->sclk0)) {
798 dev_err(dev, "Couldn't get the TCON channel 0 clock\n");
799 return PTR_ERR(tcon->sclk0);
800 }
801 }
802
803 if (tcon->quirks->has_channel_1) {
804 tcon->sclk1 = devm_clk_get(dev, "tcon-ch1");
805 if (IS_ERR(tcon->sclk1)) {
806 dev_err(dev, "Couldn't get the TCON channel 1 clock\n");
807 return PTR_ERR(tcon->sclk1);
808 }
809 }
810
> 811 put_device(&pdev->dev);
812
813 return 0;
814 }
815
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] drm/sun4i: Fix pdev reference leak in sun8i_r40_tcon_tv_set_mux()
2026-09-16 18:24 [PATCH] drm/sun4i: Fix pdev reference leak in sun8i_r40_tcon_tv_set_mux() Wentao Liang
2026-09-16 18:30 ` sashiko-bot
2026-09-17 13:57 ` kernel test robot
@ 2026-09-17 20:29 ` kernel test robot
2 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2026-09-17 20:29 UTC (permalink / raw)
To: Wentao Liang, airlied
Cc: llvm, oe-kbuild-all, dri-devel, jernej.skrabec, linux-arm-kernel,
linux-kernel, linux-sunxi, maarten.lankhorst, mripard, samuel,
simona, tzimmermann, wens, Wentao Liang, stable
Hi Wentao,
kernel test robot noticed the following build errors:
[auto build test ERROR on sunxi/sunxi/for-next]
[also build test ERROR on daeinki-drm-exynos/exynos-drm-next drm/drm-next drm-i915/for-linux-next drm-i915/for-linux-next-fixes drm-misc/drm-misc-next drm-tip/drm-tip linus/master v7.3-rc3 next-20260916]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Wentao-Liang/drm-sun4i-Fix-pdev-reference-leak-in-sun8i_r40_tcon_tv_set_mux/20260916-182412
base: https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git sunxi/for-next
patch link: https://lore.kernel.org/r/20260916182412.2091681-1-vulab%40iscas.ac.cn
patch subject: [PATCH] drm/sun4i: Fix pdev reference leak in sun8i_r40_tcon_tv_set_mux()
config: arm-defconfig (https://download.01.org/0day-ci/archive/20260918/202609180443.vTkwAZL6-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 7252edd9aa82ef1c570ff6694ef7f4763a8a5d2f)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260918/202609180443.vTkwAZL6-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609180443.vTkwAZL6-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/sun4i/sun4i_tcon.c:811:14: error: use of undeclared identifier 'pdev'; did you mean 'dev'?
811 | put_device(&pdev->dev);
| ^~~~
| dev
drivers/gpu/drm/sun4i/sun4i_tcon.c:786:50: note: 'dev' declared here
786 | static int sun4i_tcon_init_clocks(struct device *dev,
| ^
>> drivers/gpu/drm/sun4i/sun4i_tcon.c:811:20: error: no member named 'dev' in 'struct device'
811 | put_device(&pdev->dev);
| ~~~~ ^
2 errors generated.
vim +811 drivers/gpu/drm/sun4i/sun4i_tcon.c
785
786 static int sun4i_tcon_init_clocks(struct device *dev,
787 struct sun4i_tcon *tcon)
788 {
789 tcon->clk = devm_clk_get_enabled(dev, "ahb");
790 if (IS_ERR(tcon->clk)) {
791 dev_err(dev, "Couldn't get the TCON bus clock\n");
792 return PTR_ERR(tcon->clk);
793 }
794
795 if (tcon->quirks->has_channel_0) {
796 tcon->sclk0 = devm_clk_get_enabled(dev, "tcon-ch0");
797 if (IS_ERR(tcon->sclk0)) {
798 dev_err(dev, "Couldn't get the TCON channel 0 clock\n");
799 return PTR_ERR(tcon->sclk0);
800 }
801 }
802
803 if (tcon->quirks->has_channel_1) {
804 tcon->sclk1 = devm_clk_get(dev, "tcon-ch1");
805 if (IS_ERR(tcon->sclk1)) {
806 dev_err(dev, "Couldn't get the TCON channel 1 clock\n");
807 return PTR_ERR(tcon->sclk1);
808 }
809 }
810
> 811 put_device(&pdev->dev);
812
813 return 0;
814 }
815
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread