From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) (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 4355E2D12ED for ; Wed, 13 May 2026 06:57:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778655453; cv=none; b=DylnY++wAQz9DxaluC1UseZKUDEia7zv97PRa/0Bwtdix9BqVAT32MAraVa8fJD6qBZLQ/2vMUnL/T8dYep0QlKDE0OKq7pwXP3FCnhbAQ6fweCh1fXSTRXU365hQ7rinE1P++6fsBNJFZOjt4dTAejrs+fGuYlZgmPiD0FBdIs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778655453; c=relaxed/simple; bh=D+rXkpNbYM57iw66//z9yFnWXidsQpnxHALfm7NCx7E=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=CGsyAPIAHLzsZaBotKfVatRqxXDIzBd6mE75SBVKAD7wqo3mSGL1TiNhzWIZ47/zia63jXotidXJs3PfWnSqR8ho3H2gUeFsg5khcFp+vQMKYnXAe8ZxYxclquO6CggqwZ1euqAiqd1vT9RZ/d1PVlvPjBv3HeqKFH3Xwy2TqdM= 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=s1RoJxwO; arc=none smtp.client-ip=209.85.216.54 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="s1RoJxwO" Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-3664df32e91so5137958a91.3 for ; Tue, 12 May 2026 23:57:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778655450; x=1779260250; 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=lpyhgMOndReaAQGfFDlhOvUXYhINkrL7L3hO9NJYJ10=; b=s1RoJxwOF1kcvY1d7SVj3EJ26I6vmTtJy2pETN1FRdkK/yOxVMSTTRoVbpWfONtNXo O7HyTkt5eu6BR9vHmp+9bksg0wPzdx94ndZ8eoKPVXLTxEFfX6H1H/jWuIDk4J0ONRPN l6NXMDLDl717K0Cow2uTBo2qA7PIeOogLhl06dDeg7+lvuUiYZcH9FW7z+4hq3eTEPO5 C7eOpWUH+Se0XR/ySEmo/HSv/2yW0E969k5WGBGJIf7H3lQWU/pWmZTGacmDGxr6STMz irhyDy2aIOPa2BycXxaZ+KLc28BdLevJh6T03+VaC7LOXyci7Yr4gmzB2Z0NiKM9F3Fm B3/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778655450; x=1779260250; 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=lpyhgMOndReaAQGfFDlhOvUXYhINkrL7L3hO9NJYJ10=; b=QFXsaWlLTXUok+ZiD1IWE8k34/QS2R5NOsOoyX2dRyqjVU+ENj0VGlMNeQW0znstfN Btp3dvXZc+UQV7GJwXdNRLg3IOERmEP2c3bctfJ8XBfn5NPeECCDHEnu1k/b8pImZLCQ tm9lPOEzu12CAlPvfKk8SoY2IA42xMZI891h/jQaI0nIYOT5VS0D2jj5Dn0PZaA+4JHE ZOm4PWy1u3u8JodjJDZopQ4NCHa/Gh/eK2g0ipgxFiuAtkw6YIUlXFTkQpVwJLJPQ6sU 9itZPc5mi858LG0F0pCeh5OaKWgpB8i2NkBgMDHZzxg0VMZEF80sevwTSPKo91AnrD67 n51g== X-Forwarded-Encrypted: i=1; AFNElJ/knG5BsWLYSdyBA4VG53rdbohZF8tOhmjH428GIlaTUz6/j3/p14hhxpuOIuAync8DW20CZEvP85MZ420=@vger.kernel.org X-Gm-Message-State: AOJu0YzEM0Cc7DqAu25OmkmuNp/Ku8WNK61UPGYUbQlrPTlC9DKcdA9N NR2kfFnsjxidBOxvaLUjPALsJAvtuHRzrd06te9R2wrdWnlfAXkJVJ0= X-Gm-Gg: Acq92OEtk4zf0TS0XqI1Yahk+AoSCqQ+fWwhqC0Dr1/tYw/5C02PZVqmUc7vvRH59Et 4xFiNsi0baaYzBWcFhwvo6MT0AcH6GsXQ883hr9qMFLg+6sZR3/trJonhoSY3sR8z0KYOzqQ2CX esQdWwq2Jqev+PUGha+zJuPrrmDZ79JuvKJMinikEr7iYzkqN+mfXTOgQilzH8kA02ySwDvVV1x 1IjssHFTWkSEFwjXTxbokgH40ybWqUfKLsEmXF0RzG1JA1hY9xQxgyMFB8MoH8qsWrZ49C+9DZC 0l1U4ERYxuGvhh6pWd+xbfRx4SJYrnLu4XSsiIBHD9auwrWHAmH3tNAc3ajHRYCF+iBQIQSiWU+ Wl9lpYf7r8PdaAAKsh/HKR9MSfiIda/iALpi7aUgVS2+ZcN+291zXA1np9IyWyl97qvrKe+xhzl nF+vnd56SZZlm9G76U5PDBCbfReuRc/K/vY2zJ3oMX7tzf0m3xizjghyEWodriYia4kUAk1bd7M g== X-Received: by 2002:a17:90b:3a8e:b0:35f:b5df:463 with SMTP id 98e67ed59e1d1-368f3d1fa46mr2326543a91.14.1778655450438; Tue, 12 May 2026 23:57:30 -0700 (PDT) Received: from localhost.localdomain ([211.198.234.66]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-368b07163d0sm1945647a91.11.2026.05.12.23.57.27 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 12 May 2026 23:57:29 -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 , Huacai Chen Subject: [PATCH v3] drm/loongson: Use managed KMS polling Date: Wed, 13 May 2026 15:57:00 +0900 Message-ID: <20260513065706.23803-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 Reviewed-by: Thomas Zimmermann Acked-by: Jianmin Lv Reviewed-by: Huacai Chen Signed-off-by: Myeonghun Pak --- 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