From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) (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 E889E1D6BB for ; Fri, 24 Apr 2026 12:41:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777034487; cv=none; b=LPtPGxLgkRhKUyZ+93ExqcJIyBQvVPOB5jpu4om5/X+/KUp/maXs1LdJc6GAzuKWLQgz9za7seoPGrOHhcN1moPU9iIAx0TqYH2nFo41dj5B2GyC6UdfuHHPhvHcHnKCBkKS/JHV8WoFZ+BHbgfOSW8L+HPQM8SX4OJDpimfGHs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777034487; c=relaxed/simple; bh=5eDE3n944XfU8oNExwKKXh3Yb0kPdgE2rKYwif+6tls=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=AEmVJdJfsVFUihlIa2ngVbllyRDvanRf9plSLGNsD9JfscI4gUV3297VnfoshokdkYpxIClZ4o5zMOtoZfdovIdnwEv5sh8MTJic6qcD+UzUpT8yCc0KBSRUTlr7K3s/S89iIuZQcyPE7ovulUiyKEt7jsvxgajazkLHVPEG+HI= 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=V5uN9aeq; arc=none smtp.client-ip=209.85.215.182 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="V5uN9aeq" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-c76bde70ec9so3108631a12.2 for ; Fri, 24 Apr 2026 05:41:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777034485; x=1777639285; 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=Tw+sV1MN9XAqodteHf/ZuOTHc06u4X1pLw8kExk0mZQ=; b=V5uN9aeqCrQQlCQG1YYWum37gLC7h3b7Mb4Ie0eyz2XYLTj9zsAL84hZay6Akebngp M1pVZwvAY177EXh4LZH7pTSAhWg1S7nza1MzJo8TyIsNb9xpwPjZ9FEQSzUg2A3ugrai 6lzttGXMrUdzIOQQXhmQ6J3CKdSB3xNhl0rTS/7vFS51t4/5n/l1PSxH/miPKPzudFhV RIecB522OAxfWdO96Htzf+9llDPUZcD5PS615RoslGJPjwsu9dFyVlhoPvAwOjhPGKzu tnIb9tu6oLTO8g9YtypQL4bmi2yhemSRWPZ3nS64iS1iGvGjDQEGXjNH9BF/NBXGIZaF +IQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777034485; x=1777639285; 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=Tw+sV1MN9XAqodteHf/ZuOTHc06u4X1pLw8kExk0mZQ=; b=iea5e5uMOem0cECAitkPzr+dcPe2sOvUyX+1YwUeQ4XM3mFO+wvyJfw2cyKHsUjU3h qFTB+aygq1yhTiO+e5IWfwk98efp/aoRRTVshcmxpWhqVvywgnJoTOlvIXfAUqpfkNP9 JmAMV8Ou9cufg+NJHa5AmuNlQMYa8IaVbEUpYwS9vE/HnHsUHS7JgPVEz/mJY7yQXs2n MmYW1u6VxJ7qv4uepzgdN9Knjv+eKUS/HKTFxz47C2aQrrntGiRCfz+YYBIOfSV9YfBu G4s+gHEScesqQbqjj1hmKp3pb/HURxuF5Bb8xaHf78Mng6n9NCtfyJSon4lMESFfYuoT FcCg== X-Forwarded-Encrypted: i=1; AFNElJ8CpTBYxBKEGApTk9cWDZ2nVjnMjkqhdSfv2gHt66sJbMKB25btDkK7T7e/JSYBx0x/jqUExUXBN5MLdk8=@vger.kernel.org X-Gm-Message-State: AOJu0YybtB/zQw0iIMdcWvwe1CZ46Y2ERvOK1CvXiTkYeLdGxkUer2zC qesMP1kkFzsMbTKzRXS3VPKt92aumlCcLDW1F72wwF5xRDFfqw8dDAAJL8YexUQtEQ== X-Gm-Gg: AeBDieul5t0qlZ/e2DO7RIYzBtRQL0tTVMRq0thFdiYg0Q9ldKs5udhaOcYnJsOhSbp 2xLiPWV8I/074ATvF4b2pz053jqk4dXXxK1smkcGBwjquoC/ojH9zuaATusg9dLHBE3uYCVyXQI 7r34TybVfOFbaCNvK83ad+WsfAZJsLwws/pNttd9BP6ZD715tPc89eoAEMS+O0dr0j2D0cIL4h0 HJf/sU+rJuA20A8jqaMVbjv6+tUWL2W5lDEy6tVmsAPIUWWsX0hR76bwBNvr748QRaNhshhr+se RVwPmqd/PrsFhWZ7aigZ8TXms2e5SJrofks/f7gd5KK83YSDoJ0ZTXOFMe9nBU0eJUS4nFqwA05 2dwUPlig2R63SbWkeoltw3xWXpCIckj5+1Wx5m/HdDCaCmFHQrLCDzL8h3pac6He2DpmiDeaKm+ KHilepSkFU6V2FXL8bzfbJD+eM2D/LuVczvPFmlfC7WDlPnHLSRpVZRMp+aNjxRTT+KXTNYBJHU gOyM0O+Dg== X-Received: by 2002:a05:6a20:12d0:b0:38d:fad1:cf2a with SMTP id adf61e73a8af0-3a08d703690mr37610650637.13.1777034485284; Fri, 24 Apr 2026 05:41:25 -0700 (PDT) Received: from localhost.localdomain ([1.226.165.54]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c7976f8f4e8sm17821901a12.1.2026.04.24.05.41.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 24 Apr 2026 05:41:24 -0700 (PDT) From: Myeonghun Pak To: Linus Walleij Cc: Myeonghun Pak , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] drm/tve200: Fix probe cleanup after register failure Date: Fri, 24 Apr 2026 21:40:39 +0900 Message-ID: <20260424124118.38649-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 tve200_modeset_init() creates a panel bridge and initializes the DRM mode config before tve200_probe() registers the DRM device. If drm_dev_register() fails, probe returns an error and the driver's remove callback is not called, so those modeset resources are left behind. Unwind the panel bridge and mode config on that failure path before disabling the clock and dropping the DRM device reference. Signed-off-by: Myeonghun Pak --- drivers/gpu/drm/tve200/tve200_drv.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tve200/tve200_drv.c b/drivers/gpu/drm/tve200/tve200_drv.c index a048e37f1c..562f3f1181 100644 --- a/drivers/gpu/drm/tve200/tve200_drv.c +++ b/drivers/gpu/drm/tve200/tve200_drv.c @@ -221,12 +221,16 @@ static int tve200_probe(struct platform_device *pdev) ret = drm_dev_register(drm, 0); if (ret < 0) - goto clk_disable; + goto mode_config_cleanup; drm_client_setup_with_fourcc(drm, DRM_FORMAT_RGB565); return 0; +mode_config_cleanup: + if (priv->panel) + drm_panel_bridge_remove(priv->bridge); + drm_mode_config_cleanup(drm); clk_disable: clk_disable_unprepare(priv->pclk); dev_unref: -- 2.50.1