From nobody Sun May 24 19:33:05 2026 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (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 4B72011CA9 for ; Sun, 24 May 2026 16:37:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779640645; cv=none; b=SRLiIvh15MZ4wMYUPbMlfd96umfxO1HhiQ034RgSqADQBtD6d8KdXno7TwLG3kzHQfAYPjjMSn9mqQyarG5N+rGCdSdT+PzMgRapUO++Smf4Y4BHaLcfOz8Uj501bhNoOU0S7t0moGNFjrAiAkvxGElR8sgJj9GtjVcXb1AneOM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779640645; c=relaxed/simple; bh=bB3CujSeqc2lDIe/xKJczcQy7sGOZm3Ot4aNOWG6aCM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ghc4sORxgxrEa1y3UJitU57IBJcsdZJD1kRO2Wvd+6RKSPb/MdlINKZVnRH12FUNmvBpR45R58jlsa7A9/GfTE0LDT0Ad9dhb/SeNXWWZ4vdD5pPlZ+Olih4tc/GFQU0DkY4+fEjkuaspQROxDPsuuX8oiOh5YXvBDWWTqzHaxs= 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=Q7ZvLD1B; arc=none smtp.client-ip=209.85.214.175 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="Q7ZvLD1B" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2bcd3ac3307so52176805ad.0 for ; Sun, 24 May 2026 09:37:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779640644; x=1780245444; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3Bbs8ogJDyCawp6DJ+gyS+VxxLyhjXWQ/w4tp1r61OM=; b=Q7ZvLD1BFVu4x0ccJqSxARE2YkVbevzKyPsLEfQyWYnUdaurCoSIlmxateKrGmTJPN K5ZQmPNhhqaSVYiIhKP4q83YCAOhUSPluWvBrE+IbXZ3PFWiMMqMHEzpskgh7uZnoHPQ sD4yVYZ20exry1Cd4zqMibpV+tgxKP6zG8AWuWqcKuy5YBXHke/PBjcOWyloUDJhkQA6 LlSVuRa+8txlz1U/1mYodwfkW+jzd3nmvh8TChZnylDWHOH+mr/rwPQtWEPi9PisEsVK dKjSwVvP/XoykXgcOLZYQm2OZtpxEdpTR5blwgvW6GWbZkEf1vXeMDtA6uGB89us72Db TS3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779640644; x=1780245444; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3Bbs8ogJDyCawp6DJ+gyS+VxxLyhjXWQ/w4tp1r61OM=; b=b6EpLCxrliUSomssX+ThgmkVooz0y7L+aI4qY/6y0UV9Y2XxoyFx9M9vPYS/LkqfeM MHhUjsU/zIdK/ohwpjdotVNqckicE+OLCXZmayPnBsqz4o4YBr6VajuoQ9C31hbOwO0L /8qObSVWp0fSM5e5u2z7QeebL+cV7E2auGvsfjMhyd0B+L9ebwgXXUnBKYfm51DDq6oU 1pkb78Wu+vafLBuE8T5Dp5phIle+BYZl1tLe+wuEOys5jMU0u5eJd3YXiPrp9CPANCeA BQNC6twVWftJGkPRTEnf8Lhn3H3pT0lJhuKKCesumlHeQTBLNCwcWP6OmDDNUnTmHe7E gSmg== X-Forwarded-Encrypted: i=1; AFNElJ9dI5fot0ylukc/OnKkAgQT1eEwMkjuRjWWHuNT/baTF6lUTwOY7CYYWVjviKHc+kv6Iz+RpVmArIhjb2s=@vger.kernel.org X-Gm-Message-State: AOJu0YzdJHqglziUZxMxnJ4InGi69ap723eCcrzhwOEay6rwqfs2ft8f Gn1oOb3xMn4AQmjkaMRr2dO07skXLPNT+LkUUSs7Rws5Lx6SBDSYNrg= X-Gm-Gg: Acq92OFsW5xI7rSZpDGSvyHlYj1Vl0bp3mW5pbdevjLL+/ovRIMX3TZqFv9bgD7ci8s yJNOyT97uc9ZwmySHEfX9ycn1d6VjaEPQn9CH/nExQ1jBf05wMbkQZn7yFndVijM2nbUjFzO4+B qf6rMgFEkGoEGXnEDzvUex9JwqP2GjoLLFqpIZwRuc6UVsIO5Q56+CgYc0pTgPWOE1flzNSVosn hKOjf74jqJvwN/F+FN4bZ/wdaIbzuOKDXQGwXsRxvL4VXtAloKEeJFOCMEac5vdUjOAJFMJJdwO s0ZeCWFRXokHIZ+hvXt6bZZDWq9XPf54qMsb4gNhBvHIOVF5hTpiZEQEyQPzan3VUn6kM9Yo4Fy 01COHs5KnBi/AyQrYsj4+Cf395yMVW5oFNQ0HQBgIT8ju9RVVcWGKpldNlV+bXZyzLsVpNMoxbb 53a0ZnSlbVayOPwsSIRjaEeMWBa+UkeggsQvRul6Eu4VMkBYzLmHwh4SrtbiWYDyUFd/+bxDy+h KAhxKU0dQ== X-Received: by 2002:a17:902:e548:b0:2bc:ac76:c1d3 with SMTP id d9443c01a7336-2beb0770aebmr131579575ad.29.1779640643652; Sun, 24 May 2026 09:37:23 -0700 (PDT) Received: from localhost.localdomain ([1.226.165.54]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb58b309bsm73017325ad.51.2026.05.24.09.37.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 24 May 2026 09:37:22 -0700 (PDT) From: Myeonghun Pak To: Neil Armstrong Cc: Jianhua Lu , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Myeonghun Pak , stable@vger.kernel.org, Ijae Kim Subject: [PATCH 1/2] drm/panel: boe-bf060y8m-aj0: use devm_drm_panel_add() Date: Mon, 25 May 2026 01:36:32 +0900 Message-ID: X-Mailer: git-send-email 2.47.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" boe_bf060y8m_aj0_probe() adds the panel before attaching the DSI device. If mipi_dsi_attach() fails, probe returns with the panel still registered. drm-misc-next has devm_drm_panel_add(), so use it to register the panel with devres-managed cleanup. This removes the need for open-coded drm_panel_remove() handling on later probe failures and on the remove path. This issue was identified during our ongoing static-analysis research while reviewing kernel code. Fixes: a19125a28112 ("drm/panel: Add BOE BF060Y8M-AJ0 5.99" AMOLED panel dr= iver") Cc: stable@vger.kernel.org Co-developed-by: Ijae Kim Signed-off-by: Ijae Kim Signed-off-by: Myeonghun Pak --- drivers/gpu/drm/panel/panel-boe-bf060y8m-aj0.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-boe-bf060y8m-aj0.c b/drivers/gpu/d= rm/panel/panel-boe-bf060y8m-aj0.c index 84c21c62a4..a6d765b402 100644 --- a/drivers/gpu/drm/panel/panel-boe-bf060y8m-aj0.c +++ b/drivers/gpu/drm/panel/panel-boe-bf060y8m-aj0.c @@ -357,7 +357,9 @@ static int boe_bf060y8m_aj0_probe(struct mipi_dsi_devic= e *dsi) return dev_err_probe(dev, PTR_ERR(boe->panel.backlight), "Failed to create backlight\n"); =20 - drm_panel_add(&boe->panel); + ret =3D devm_drm_panel_add(dev, &boe->panel); + if (ret) + return ret; =20 ret =3D mipi_dsi_attach(dsi); if (ret < 0) { @@ -376,8 +378,6 @@ static void boe_bf060y8m_aj0_remove(struct mipi_dsi_dev= ice *dsi) ret =3D mipi_dsi_detach(dsi); if (ret < 0) dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret); - - drm_panel_remove(&boe->panel); } =20 static const struct of_device_id boe_bf060y8m_aj0_of_match[] =3D { --=20 2.47.1 From nobody Sun May 24 19:33:05 2026 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (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 A4963393DC7 for ; Sun, 24 May 2026 16:37:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779640650; cv=none; b=oP0j1RJEHYtZEc2tf0nhsPvnVC/DJd9WbidF89dXcqfnv2B2vlh5cIB0f0R6ZM+Ewe3EGGKelUPY5IIZy6SsGW9kuwrafhuVoWKFnZ9wjtVoOxyyxE3VpBZ8g6tmcXS3iynU9XoSYuow/xTRU0/IQBJANf2MB865OKWLnSf83es= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779640650; c=relaxed/simple; bh=179DNAqWwqA+ngm396BWCNZCs34hNz1yV8fwEPHqlUM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XTbYjjaro0fUHfA59ypclD6+pStRPrjjyci5a6iF6wO22Tnfy2mDcinL55rbZhcjAkqXjHBRlq509jPLM59ZSRPvDg9cDTWrmEiUVQjmiKv3PwOtuaFR6jaJDfAV4/myUVw5r+LxC6n6OyjPUc3qYZdaxnyW/DhP+YMpNB/dWqk= 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=YwZu3f+L; arc=none smtp.client-ip=209.85.214.175 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="YwZu3f+L" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2baca4df358so54924505ad.2 for ; Sun, 24 May 2026 09:37:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779640649; x=1780245449; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=G0HUvMlBgBGQWslCXm5T/VCz5F81Ghf/XcT+I734BSU=; b=YwZu3f+LOXDYsXl8wSRe4Rbd+aVPd1nBUCxXuFWAgHnGU5dAhF6WYJNmLjPGd3CVT8 C9wrML4zg90uHbQzqrhmoqWH/XhmYfObt34g6F1btfbdOUuwqTykWXsY/NsMmwQoZVVo dzw+O1/iIkVk6k6MUC5zSmyK2qCoSddcYpCFAstnFcHB8QkX5Qe5F7XcndenGRMA7Syp qF3GvIeIo019Nh9yVPE22Cwd5UQ9i4S6Y1ksWMkS7TIxmKyon0+6Rd8qOnDLeQVN0rwk k+BnusMHg/QZQwjcZ76VxujkgB2JFEN2IUF6Zp2ZK2Ix9MI3tUnLkalp37Y+3eyNoMkn LSmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779640649; x=1780245449; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=G0HUvMlBgBGQWslCXm5T/VCz5F81Ghf/XcT+I734BSU=; b=CJ6CuaIsoGIQUvTKRIl6FbPwTtHJBBxlju91NDWTPXPQtroPCUnsyJVzjZctEaVZWR OF3ZsKdcaCsKbTrgYOdt3YMiqcorDIaFTScNdenkQb5HHs4O3xxCg+KWXL/BSg42o9k3 O6EfVyGLRCOSY4zAScKDrLYgArOy7lirXAk3MLhMhX95pTbtktqlsmfpEvrmorCplVDo zO01Bna0kq19Hphrh0Ra0h1+LITNJcepIHIC3BhuamYfQbCdXG3Wrr5XeXazuFfZy0Vz rkm/cJZPkA66vv4vr4bOsXsjIvvA/bT5PzaEzsv9DAS0mcKWwSBJsJT/sBn5KLp3fmIp ulqg== X-Forwarded-Encrypted: i=1; AFNElJ8gxGXbr+lCKW9IhvfoqKhdqYLsfTf5R2L8WvydIavSXTfgxrX5JnEAocT3/o/w9qrGMjyiq9SqOafkb94=@vger.kernel.org X-Gm-Message-State: AOJu0Yz52P7qA97wxu2iIcrJlZ6o92bIDI+C38pstED5xpDiFW+8nFLg KSa4g6Bh8dbPO3Gj97Hk871cBiN5lZZjJhmmei4PKdBQ/MUxaHSXMkQ= X-Gm-Gg: Acq92OFjFLwfaax5jGQrPnJ0PzPqnjwEX3KnRFreajkITvW7IsQtK88E3R2WRgLGGms 8mRFn675gRwfqXhFz+1xJP+CnUC6knxa+t2jaFSYnqvxBezBnnzOqleeHXI+X7qDbbu+qP+6O0f c00vdGgDto24KzW7XFYp2m9e42SBDI9PHz2MyqEZlArwFtfgZ5HWX9vVG5JnD8jTRWCOPEIuRy+ lN79nfFjy0wWpnSDTAKfSLHDK861CFGP71MyfZgSgXEOlN/WhVJ2GtPOvTxUAKqm/wBYHc1xHPy 0vh1dxoeTP49v8pQY2/MGTaUZuQhBylsWAz+rEKuVuMn3uR08gJIr5X0+iLiVqQz85ALSEVyhAj cvELAb0oYDoYoqs3BVt0YAyad+mpbjtbo5kWcTn7HKE4FQNcO2ATFJrxGFD94c34pJ9xPh0oL1G NwX9ha2XV8fkv9eu7ZH1ZUI06lkEe6SpB+SBWrbnnxJNYI4jFe2TINcQvLQ0PBnKEKSX0DM5HQ0 L1ga7Z62A== X-Received: by 2002:a17:902:d4c4:b0:2b2:4d78:eec2 with SMTP id d9443c01a7336-2beb0711965mr114609995ad.18.1779640649048; Sun, 24 May 2026 09:37:29 -0700 (PDT) Received: from localhost.localdomain ([1.226.165.54]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb58b309bsm73017325ad.51.2026.05.24.09.37.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 24 May 2026 09:37:28 -0700 (PDT) From: Myeonghun Pak To: Neil Armstrong Cc: Jianhua Lu , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Myeonghun Pak , stable@vger.kernel.org, Ijae Kim Subject: [PATCH 2/2] drm/panel: novatek-nt36523: use devm_drm_panel_add() Date: Mon, 25 May 2026 01:36:33 +0900 Message-ID: X-Mailer: git-send-email 2.47.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" nt36523_probe() adds the DRM panel before attaching the DSI devices. If one of the devm_mipi_dsi_attach() calls fails, probe returns with the panel still registered. This issue was identified during our ongoing static-analysis research while reviewing kernel code. Fixes: 0993234a0045 ("drm/panel: Add driver for Novatek NT36523") Cc: stable@vger.kernel.org Co-developed-by: Ijae Kim Signed-off-by: Ijae Kim Signed-off-by: Myeonghun Pak --- drivers/gpu/drm/panel/panel-novatek-nt36523.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36523.c b/drivers/gpu/dr= m/panel/panel-novatek-nt36523.c index 226d91daf8..f6592b01df 100644 --- a/drivers/gpu/drm/panel/panel-novatek-nt36523.c +++ b/drivers/gpu/drm/panel/panel-novatek-nt36523.c @@ -1047,13 +1047,6 @@ static int nt36523_unprepare(struct drm_panel *panel) return 0; } =20 -static void nt36523_remove(struct mipi_dsi_device *dsi) -{ - struct panel_info *pinfo =3D mipi_dsi_get_drvdata(dsi); - - drm_panel_remove(&pinfo->panel); -} - static int nt36523_get_modes(struct drm_panel *panel, struct drm_connector *connector) { @@ -1225,7 +1218,9 @@ static int nt36523_probe(struct mipi_dsi_device *dsi) return dev_err_probe(dev, ret, "Failed to get backlight\n"); } =20 - drm_panel_add(&pinfo->panel); + ret =3D devm_drm_panel_add(dev, &pinfo->panel); + if (ret) + return ret; =20 for (i =3D 0; i < DSI_NUM_MIN + pinfo->desc->is_dual_dsi; i++) { pinfo->dsi[i]->lanes =3D pinfo->desc->lanes; @@ -1259,7 +1254,6 @@ MODULE_DEVICE_TABLE(of, nt36523_of_match); =20 static struct mipi_dsi_driver nt36523_driver =3D { .probe =3D nt36523_probe, - .remove =3D nt36523_remove, .driver =3D { .name =3D "panel-novatek-nt36523", .of_match_table =3D nt36523_of_match, --=20 2.47.1