From nobody Thu Jun 18 09:19:03 2026 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (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 2042C410D29 for ; Thu, 30 Apr 2026 14:25:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777559142; cv=none; b=aFi/6uuSQnOomNTihS4sLqpmBRpBQTBarER9mhfSpHZic4X55H3Bzr7Ex0QniVQtcVNZygatjI+hPkrfto24RazNlq97x6dQ0K8pW6ZpQrtX66HnzIk+mTxfsZrTj6f3R4rVbyFVZCtcigDjkKSffapU5eCyrgQRw52VhD2peMQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777559142; c=relaxed/simple; bh=SsB3fVBmTDjC/TDn0evKIsstRQxjanBDMF1KqALO2L0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=cYLz6B68HeVOa9goEofKHDN15Kd25PZ38BjfxUwocQjfj+d6dqpd84zyEbX3p0f1HS532tqE3lEGcer6Sk1v+NlDtrQ6Ix9FNU8+yJFUuafRzSFb5D7NGhw/YMC+OLYl5KEixqhCmkfnJNzfter619KubOIYFmtNzjYrS8chsNo= 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=bacCelzH; arc=none smtp.client-ip=209.85.214.174 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="bacCelzH" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2ab46931cf1so14482975ad.0 for ; Thu, 30 Apr 2026 07:25:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777559140; x=1778163940; 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=SxQQAfFaaiRvrhNuhc/nEMGhJjTGCuoSHZosD17X3GQ=; b=bacCelzHujp7TYD0YyDqoh4B5auHMTsnUD76RoUlLK6i43+l83TToeiOinIct2vB94 3Enlx/7oWxKl+m9SwpHea5999DziUUmjDbXRdm8r6I50WFxei1sZGSydhe4Lmaqzouws tvgx+qJRoWRW5x6qYMCSS+Q2BSLXi9yDNOjMxvx5ZaF5xHx6eD7biqyuDP4BMYrW76DF loV1H7Q8Gb23A+V7ywZRnKtrXwRRnuRAODCjQEOqXGErbvhh4fcSBq1J4z1YpnfBXkcw tCVnZ2G9CtWQBEgpaDFk6hM2QG7FBbqq1jYU7vVEMPQLirVjwnZ4GtizU3yqFSTSyY4p QUIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777559140; x=1778163940; 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=SxQQAfFaaiRvrhNuhc/nEMGhJjTGCuoSHZosD17X3GQ=; b=DzNRQPaJBtMeY88Aj5fpft+r9pZWEkiTjU35yv6xBaXguSzDanOno89dTwnRW5k7oy RpHiSH9s9ZJbmM7rJWoQfK/nc+VZs8QXvdFgPpYapo3nNJzZ1xOPUXh9p93lU4NNvyXV 4d6bw7rGGNjv1JL/7Py0nxmOyWNRkAJEpOlwylM8nxoG9BmeZPnWFSb8hXx+DU1N2nCP PXXg61JGXL2O/qgZblsE3FZSUedcpCJSglMYO3R1rmF4O4tiXKMHo7FGDowqnDqfw2BH BFIWs6sWId692CI4gjQr2LD2hoTkhzHInOzHVlu86nzEJ7o1MIO8/lvngw3DaBP83LcW CpBg== X-Forwarded-Encrypted: i=1; AFNElJ/Ergw0D+DPiQ/dy9ZHMDAze60fBqEZnr00yKxija0jou76QJ0jY8vSYBV/5uFMxGGiWApwA9EGGP5XNro=@vger.kernel.org X-Gm-Message-State: AOJu0YwJ1yOtgzEtKdfFgzVM5SAFKpyqmuYilNG77wn8xXvXNnx3a3Dd Eg/xR3Oc64X3nnXfhflXo0/Ao9MNK6uFZDBdgp5Vy30cIaLN3CbSXKo= X-Gm-Gg: AeBDieuodLbfEHPu4UxYuR80AX5/BbAQkpkUmPvZRwWtH0DA+ExrnedvN9760J7wUTW NikY8uQE7yznl9jmbgtBYwogpB5xLgiK2BsYmK6K0rRwwcrJQ2IpERM2T1ninLp6nhkEm30gpRa jS+8vPevqxFxYJJexAqvLJS56b3AxAOwp5uyvoVgEadMyYR/OIUKnhwMbc6Hgfe2YdmTd2laEWy VvDUWVFGTFl1b7gkYoLyB7RGUaIVmWDf81n2wlaY9+mTdoPXNaC4UI2AIs342NsnJESLAfGUwQN Tq24/YIXYM9lQs7EaVC0YuCioG+vHmTJaXcLpPe5gPMNPMNDwNagoK9MTkJDJ8NBsmKmx2Zagkb buU5tqjj7RtbAOgGCs1fFH4wmog2lNDja3CGbtp+4r/guKIHO0bl6MCsDnORBidcFJdPyVYQTig 5UTWYtfiqvFy1pNi555JxCozANn1qPEibPOobtdCJjnYQe6DyQ1VBpaEtzELjhN50ps8xLOdyqS 90wkC2+Wc/4Tnzqs7+/xUE7ETxz43mOfUWkLj19MPCuQFRT6JgrV47aiqJT5xI= X-Received: by 2002:a17:903:3b86:b0:2b2:ec33:cf15 with SMTP id d9443c01a7336-2b9a42dc3b8mr23951415ad.7.1777559140212; Thu, 30 Apr 2026 07:25:40 -0700 (PDT) Received: from localhost.localdomain ([1.226.165.54]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b98897edefsm54194885ad.74.2026.04.30.07.25.37 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 30 Apr 2026 07:25:39 -0700 (PDT) From: "=?UTF-8?q?=EB=B0=95=EB=AA=85=ED=9B=88?=" X-Google-Original-From: =?UTF-8?q?=EB=B0=95=EB=AA=85=ED=9B=88?= To: Maxime Ripard , Paul Kocialkowski , Mauro Carvalho Chehab , Greg Kroah-Hartman , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland Cc: Myeonghun Pak , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Ijae Kim Subject: [PATCH v2] media: cedrus: clean up media device on probe failure Date: Thu, 30 Apr 2026 23:25:29 +0900 Message-ID: <20260430142534.12928-1-pakmyeonghun@bagmyeonghun-ui-MacBookPro.local> 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: quoted-printable Content-Type: text/plain; charset="utf-8" From: Myeonghun Pak cedrus_probe() initializes the media device before registering the video device, the media controller, and the media device. If any of those later steps fails, probe returns without calling media_device_cleanup(), so the media device internals initialized by media_device_init() are left behind. Add a media-device cleanup label to the probe unwind path and route video registration failures through it as well. Fixes: 50e761516f2b8c ("media: platform: Add Cedrus VPU decoder driver") Cc: stable@vger.kernel.org Co-developed-by: Ijae Kim Signed-off-by: Ijae Kim Signed-off-by: Myeonghun Pak Reviewed-by: Paul Kocialkowski --- Changes in v2: - Drop the now-unused err_m2m label. drivers/staging/media/sunxi/cedrus/cedrus.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/= media/sunxi/cedrus/cedrus.c index 6600245dff..2c25654640 100644 --- a/drivers/staging/media/sunxi/cedrus/cedrus.c +++ b/drivers/staging/media/sunxi/cedrus/cedrus.c @@ -507,7 +507,7 @@ static int cedrus_probe(struct platform_device *pdev) ret =3D video_register_device(vfd, VFL_TYPE_VIDEO, 0); if (ret) { v4l2_err(&dev->v4l2_dev, "Failed to register video device\n"); - goto err_m2m; + goto err_media_cleanup; } =20 v4l2_info(&dev->v4l2_dev, @@ -533,6 +533,7 @@ static int cedrus_probe(struct platform_device *pdev) v4l2_m2m_unregister_media_controller(dev->m2m_dev); err_video: video_unregister_device(&dev->vfd); -err_m2m: +err_media_cleanup: + media_device_cleanup(&dev->mdev); v4l2_m2m_release(dev->m2m_dev); err_v4l2: --=20 2.50.1