mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3] drm/loongson: Use managed KMS polling
@ 2026-05-13  6:57 Myeonghun Pak
  2026-05-22 11:33 ` Icenowy Zheng
  0 siblings, 1 reply; 2+ messages in thread
From: Myeonghun Pak @ 2026-05-13  6:57 UTC (permalink / raw)
  To: dri-devel
  Cc: Myeonghun Pak, Icenowy Zheng, Thomas Zimmermann, Sui Jingfeng,
	Jianmin Lv, Qianhai Wu, Huacai Chen, Mingcong Bai, Xi Ruoyao,
	Maarten Lankhorst, Maxime Ripard, David Airlie, Simona Vetter,
	linux-kernel, stable, Ijae Kim, Huacai Chen

lsdc_pci_probe() initializes KMS polling before setting up vblank support,
requesting the IRQ and registering the DRM device. If any of those later
steps fails, probe returns without finalizing polling. The driver also
never finalizes polling on regular removal.

Use drmm_kms_helper_poll_init() so polling is tied to the DRM device
lifetime and automatically finalized on probe failure and device removal.

This issue was identified during our ongoing static-analysis research while
reviewing kernel code.

Fixes: f39db26c5428 ("drm: Add kms driver for loongson display controller")
Cc: stable@vger.kernel.org
Co-developed-by: Ijae Kim <ae878000@gmail.com>
Signed-off-by: Ijae Kim <ae878000@gmail.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Jianmin Lv <lvjianmin@loongson.cn>
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
---
Changes in v3:
- Capitalize the subject as suggested by Huacai Chen.
- Add Reviewed-by and Acked-by tags.

Changes in v2:
- Switch to drmm_kms_helper_poll_init() as suggested by Icenowy Zheng
  and Thomas Zimmermann instead of adding manual cleanup paths.

 drivers/gpu/drm/loongson/lsdc_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/loongson/lsdc_drv.c b/drivers/gpu/drm/loongson/lsdc_drv.c
index abf5bf68ee..4b97750897 100644
--- a/drivers/gpu/drm/loongson/lsdc_drv.c
+++ b/drivers/gpu/drm/loongson/lsdc_drv.c
@@ -292,7 +292,7 @@ static int lsdc_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	vga_client_register(pdev, lsdc_vga_set_decode);
 
-	drm_kms_helper_poll_init(ddev);
+	drmm_kms_helper_poll_init(ddev);
 
 	if (loongson_vblank) {
 		ret = drm_vblank_init(ddev, descp->num_of_crtc);
-- 
2.47.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v3] drm/loongson: Use managed KMS polling
  2026-05-13  6:57 [PATCH v3] drm/loongson: Use managed KMS polling Myeonghun Pak
@ 2026-05-22 11:33 ` Icenowy Zheng
  0 siblings, 0 replies; 2+ messages in thread
From: Icenowy Zheng @ 2026-05-22 11:33 UTC (permalink / raw)
  To: Myeonghun Pak, dri-devel
  Cc: Thomas Zimmermann, Sui Jingfeng, Jianmin Lv, Qianhai Wu,
	Huacai Chen, Mingcong Bai, Xi Ruoyao, Maarten Lankhorst,
	Maxime Ripard, David Airlie, Simona Vetter, linux-kernel, stable,
	Ijae Kim, Huacai Chen

在 2026-05-13三的 15:57 +0900,Myeonghun Pak写道:
> lsdc_pci_probe() initializes KMS polling before setting up vblank
> support,
> requesting the IRQ and registering the DRM device. If any of those
> later
> steps fails, probe returns without finalizing polling. The driver
> also
> never finalizes polling on regular removal.
> 
> Use drmm_kms_helper_poll_init() so polling is tied to the DRM device
> lifetime and automatically finalized on probe failure and device
> removal.
> 
> This issue was identified during our ongoing static-analysis research
> while
> reviewing kernel code.
> 
> Fixes: f39db26c5428 ("drm: Add kms driver for loongson display
> controller")
> Cc: stable@vger.kernel.org
> Co-developed-by: Ijae Kim <ae878000@gmail.com>
> Signed-off-by: Ijae Kim <ae878000@gmail.com>
> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
> Acked-by: Jianmin Lv <lvjianmin@loongson.cn>
> Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
> Signed-off-by: Myeonghun Pak <mhun512@gmail.com>

Reviewed-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>

Thanks,
Icenowy

> ---
> Changes in v3:
> - Capitalize the subject as suggested by Huacai Chen.
> - Add Reviewed-by and Acked-by tags.
> 
> Changes in v2:
> - Switch to drmm_kms_helper_poll_init() as suggested by Icenowy Zheng
>   and Thomas Zimmermann instead of adding manual cleanup paths.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-05-22 11:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-13  6:57 [PATCH v3] drm/loongson: Use managed KMS polling Myeonghun Pak
2026-05-22 11:33 ` Icenowy Zheng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®