From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (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 4392F368D70 for ; Tue, 12 May 2026 06:54:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778568895; cv=none; b=pUG4Cje2etkxz4NYP0lW+je1VQibkb8RQ672Ja1rtX0xjhBHOR4bEGcPhThY1H7Hd7VaCAAYKVWrZVCbajQEbwJvE+BnyZw5Vg/I5afcnDTVjuv+HO/LsDODvQ71om+Q9nxQRDcqkUkHcz9OQBVXvj4GCOqGqVLs47i0SdwFBaw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778568895; c=relaxed/simple; bh=RQ7+iXrY7i1K+ENsdW2g5Fgz71dWa89XrsybQogv9vc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=XhZn2Bkw3IuzSP+6bjsTaOwhyuHjYxC8tF6ZYBWcWbr0IE7TGcdn4X7tHHnLe9WIiQNnBXiKwX2ukWuZlpeyzsZ01VukS0ZXJFHXHHNh0zyD/89R6gmZAr99ZQHvg7ydgUtLTujtiTIftGRGwEyYcm+6d7WmUcsCNZVTEmZXTLw= 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=P+MqsNWl; arc=none smtp.client-ip=209.85.210.180 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="P+MqsNWl" Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-82fa8d6425bso2539319b3a.0 for ; Mon, 11 May 2026 23:54:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778568883; x=1779173683; 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=P+MqsNWlwS7ahnh6h1NFUF7s+r4dSN7igoC5tLiLAFQMs0Tb9IuBfTPQ66StgqXNHY nKdtFVBOLJmhay+108ngz0ZSKG2x/kgQXhCyMjJyGMd92MPZKM9rZ0ShMM7SUOZlsEqg fN4ZEe7NV1jMMJ2edBS4lva8F1jvXIxcexdNbNUPj3PXFRYbbKNP+SIqKCX4umwFjarW hFtHEFXLion6SakZTq6qIR4D15ImJIWxqcOdyEc6NwU36uhHYtRsx+iji8BHoOuf0LOC RlrodkjlmnJsnpke94kFdeoGIZ6M0s0nyaGAkJgcS7a0uzvkZfd2ZE1yTN4bZBPC7HgN dTAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778568883; x=1779173683; 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=Vua2H4JrJaoaOLU04Lsz1198oj3BDchhJ2+H8imyAmqzrwo66Q98hLK0Tg7WR34eu7 uYKo0skWmOczXiGK5jDhPRFfbfHbt0neCtkihXeXdyxwrMEfRYJKbplV8vIc3jr8EVWG GMw51t1msL4Pj2IiHj7jy2k2dJQ9u+dVrgjo9s2UQ3I9x8MU7BToaR+fTZIrwutZTxHf OSLItWyAABrL4Dk+6y73NdmDlH+N7gCDpf5MQ46LhiVZKKBQmKujU9dUA/gmrRo7yB/K AVdhRjINc7Jj/us5qC5aLZcorp+o4JRTox+09l7uIdbmc/DUc0XDXb7r4FjtO0VHErvP 3yiQ== X-Forwarded-Encrypted: i=1; AFNElJ+SpDF/1gUuOEXK95/+QaPP8P9h7beaAHqrllDVlbNpuTLPbUQSvppNumIPzj4cD2STz5zS9JTn27CIZdA=@vger.kernel.org X-Gm-Message-State: AOJu0YxwMHi5mXZhuMBTgK0LZ0TG2KK4xdZtfkZ3qepV6SnJuSxwWjdV Zv+V9oK4uo8JgUr8pjgAX2GCCnbhmvOKQEWjJM8LQ0SMmnXqYdygdh0= X-Gm-Gg: Acq92OF/jLzak0iBmxfdR6RVJFh+6Ezc48D8srS7fzXZuYEiqgwSQXjjWptDn77JZuO xh5hYaVdQV3XrygBY/UzdEdkkhcs+D6mp8sRx7QgTXLGyo8BrCZD25gzUxnF1TiFtKxaxKHyVs3 K99SRPXZK/P5fU3uTHThnz+IEJGIQzQn4p0FmiNmZXcow2oD9SIFZ/dW6mfu9oOrOWuEmjaALnX Yno9dv6SW4esDv6MbVEDoOv+X4U9mB3K/qpnRsrznmhnSvVbCGzr0O1xk9Ndw8/pFqINCVAYUZs rCeVP0CaV83SBgEujy1Z1C6AIi+wnmnSc7ODEL8RRiyyxrp6YXNJFVPXw7Ri1FRHACnX/IjHpnx Fz8PGRJ+uyi3qzyyloRdt/JY8MowtEnPi06TLxIYtwROWevV9Ugy3w2+8Drmod07gPac01I0AhZ qz2KjWN3FGQAuwE3sc51W0hhItn/Sbgq/Gd9k7MPAg8uVQQU5MxmyiIbQ0YlM4IpDoFR/hQ8NqF EkKA7KTZHJt X-Received: by 2002:aa7:88d6:0:b0:837:e9cc:d470 with SMTP id d2e1a72fcca58-83eebb5004dmr1861920b3a.20.1778568882988; Mon, 11 May 2026 23:54:42 -0700 (PDT) Received: from localhost.localdomain ([211.198.234.66]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-83965646254sm23272580b3a.10.2026.05.11.23.54.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 11 May 2026 23:54:42 -0700 (PDT) From: Myeonghun Pak To: Tobias Klauser , Greg Kroah-Hartman , Jiri Slaby , 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:53:31 +0900 Message-ID: <20260512065436.74729-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