From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C29183672B5 for ; Tue, 12 May 2026 06:37:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778567830; cv=none; b=kws6pDPJyJB2nV4ypY4AM+atJens0Sl5hBmeoXuas+b4UJdgMBXGXesMX+IMHxejL+wDe+ZYBfgRgvBW59BMPZ+IcVZU14Ma4w/BuYnlAeDb3ni4LQSUTjbwP0/wcR/yJcg/aGp7RY5v+uNtk2uWwDJ5Z+j8hE+OVF7XP/l/rBU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778567830; c=relaxed/simple; bh=RQ7+iXrY7i1K+ENsdW2g5Fgz71dWa89XrsybQogv9vc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=TAvkW83jI5uZGX8Gj8jXtobLVhuMPzTQW+trajUJkbImST6zBzH7jC3kfGjOOv/nBJuT9XySzxt3f3WlaVoO/NlI0JBCz78+IGp3xUqW/o3rX4eAgaCpvnIW7/UqsB6WpRKI0KhIak1OcYD17hXNbKX7Boe08T73HRMh9T96PHo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=X8Q3x8gf; arc=none smtp.client-ip=209.85.210.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="X8Q3x8gf" Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-8367df48711so2361570b3a.1 for ; Mon, 11 May 2026 23:37:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778567823; x=1779172623; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=M/Io3R6L2sxqqwxZ2xN7qSJG+cD+zBc4qCZ/FGPLMyU=; b=X8Q3x8gfhTDjyBCKRl8adypy87EY2S5T1iQ+53nMBFhOJ+P9+8ZwrPkqUwgVA+7HZ6 1+7GnxLUEe26l3a3L8SdEYsm5g9B7f2jRHcngj2DWXDNdFZJ7AHYv1OdqzyPsNd5/2d6 l9rThW/LKjfsAYnLyi7bmBoFp+WQt4mqXupkiGcH19qH1TDEPLHP7OKqXOZJ1YO2U3cJ 5OqENAsHyks/fVB4sMc55j8u7OsNhRH6sUBbtBesu6+LCBJb/h/oDY5gbNwOqnJnSR7B u28N3xBLMYztNYb4OyIKP8O/E6SH+X+1EYmC3TZKlfzOrtKGI7Z/dNtAmviLsqCfJlr9 i+CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778567823; x=1779172623; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=M/Io3R6L2sxqqwxZ2xN7qSJG+cD+zBc4qCZ/FGPLMyU=; b=fJeAthj7rg1jMYDYb4oOFJvgyVWEY0bABLAK/3xgb9afEhQNiOEOQqcKrnziez8yz7 Uc9ZpUEk018RL2Mb+KeF+AE6jyq2mrlAz7hUH3ItU4WGNYARTJqus6Gg+mvVbrV2sVJJ tT3i1ANCAsJiY9NawlcIvE52DK2w+tgn3agFrMfo3xC5Nb4VhVxb0urZw+HVPenSJvSU DBwwknSG2WMeaSTKAvSqkDIC92Sdx2zL+7r1UT/ua6NEn2Xx0izXpv4pKlf8yvEhwDW1 Saaat3zq2sMtzXMXac2bdoi+UuiegDYCiCvTEQ+5lq/z68yed6YG+GK8jQ5odseloRrn g6Zw== X-Forwarded-Encrypted: i=1; AFNElJ+Q5DWVBOu9Or+ncFNRV8Gbc1+MrYffJ49vmrYOJgWgYyGr3pSQzJ+IVJ65O8losrQscA8WkypnqqgWkWU=@vger.kernel.org X-Gm-Message-State: AOJu0Yzd8ODmlkmJmypKoNMPwwwqGpRdWhtWncQ432TgD3CJq5VuHps+ n3hSQlw48cMlO8xlrAPgXWiH/YMSMf7BYqcOWhYuJ+Pd4evFmcK3J/BOLyZ6Csw= X-Gm-Gg: Acq92OGb9hhbFd7WuQoBUo2ygMEMSV/UVSjKr+aAg5hgT86Ij0lQ+6XOKK/ep0tHGuA 1PGNLVi27cbU5QW1xXEBq7xp3iGFGGvAwUl5RS8QVuS8sJDXHFYqQZv6/Pt3rW5udS3tvdqQ8v5 cTn+HEtnYWNW3WcXkf073S0m8d3hzESP7CTArHq2fW6Bb4fyWxzm1QVICjFkMqz4OHCi9/pUx92 yNHp+acshRQ32E+otcxpDSR2DM1CAFRsirSrRmlOC8iKY/PhLYXsEk47uKP92KymrNHLXD0Rm+E bmxeRf/Vev0NzVaa6yeQf2xyWwZVQkd/0s/AkASUIzwzayAGJ+goToNFdol0cyLUktuhHjl3/Fb gdetgSRqCOXA5wnMdXQ2hYJx4Gjau0wyB2H2EQtGDZkMXtL4krWCMbLMLUxY2hpJgU6KPL9w2Uu dimtDfidjZ1HM3z/v1EUoyysjnbPpSCCX/8od5xpwVzt/9loAsxy3XX29gxA8UeAA6F6P+Fs3gb g== X-Received: by 2002:a05:6a00:429a:b0:838:c01a:7a50 with SMTP id d2e1a72fcca58-83eebc24f3bmr1610402b3a.30.1778567822961; Mon, 11 May 2026 23:37:02 -0700 (PDT) Received: from localhost.localdomain ([211.198.234.66]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-83967dbf7d2sm29996163b3a.49.2026.05.11.23.36.59 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 11 May 2026 23:37:02 -0700 (PDT) From: Myeonghun Pak To: dri-devel@lists.freedesktop.org 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@vger.kernel.org, stable@vger.kernel.org, Ijae Kim Subject: [PATCH v2] drm/loongson: use managed KMS polling Date: Tue, 12 May 2026 15:36:51 +0900 Message-ID: <20260512063657.53100-1-mhun512@gmail.com> X-Mailer: git-send-email 2.47.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Ijae Kim Signed-off-by: Myeonghun Pak --- 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