From nobody Fri Jun 12 18:58:11 2026 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (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 A5E333C8182 for ; Wed, 13 May 2026 07:03:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778655781; cv=none; b=qe3DoIEFizksjyRP7ua8RwaTVucGdaoXP3FN5IVoIr5MAt6ZQlZkV0IZCTjuJ+TBtjk4VwoCkAnSc/8bI3PnRj3X0mhnwP6KGm3bjVcaBd9AuLke//ZqNl3Byl/WbSTi7UYZDw4Ouv6ZNMsOC5duGbN/qxncoE2E+wYa1PQiz3Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778655781; c=relaxed/simple; bh=eOOYOcqT3op8hwOvsAG2awwbAC9YwaQbYCu+tWEDbu0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=PVRftabmPyKaq9wBq+4xxTOMB2d+PAj3ry6qD03hNmG76N1REoISEou5s6l7GCCdLk6jQNOHEcQEQ/I+1bOGn0lJW9Tyni9TIKnFO3b/qBx6ExYCa+q0YmtF5UeKSabMIBYtnSMR/jgk1tNIJ6faqvcMO9oSfdYSFDL8q72918k= 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=LRbtAcGu; arc=none smtp.client-ip=209.85.215.170 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="LRbtAcGu" Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-c80167f5716so2801354a12.2 for ; Wed, 13 May 2026 00:03:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778655780; x=1779260580; 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=GaH9g17uem0QR3nAcOAHHOsv86hTEnX1C7NUBwFlEN0=; b=LRbtAcGu+iIDHOSJxA1Bl1LRZpQwh/GKxKs5DYwhMxmbKwOa9MTZSb4JimKkXGqh56 xivUS2+SspTXjQIhYKD72Xyttbkr1WuvZFJUGQGnQGKiUFqNKKJlWupW8kTelNTPGl9k DqnYg5Irhckl5W6+402d84PjmQkpztfWgHU1A3J5pfae3Nzt59EySeL2SgdoSVCcz+Cq e5NIXuXNJmZoBVRs3BF+u9qV9plcbTUQbOF9+MvNGH7vqFJI6krqZThCIqiZ4U1vQdIC +l3WO5q/HNfB9r9FoWwbAjhEJmrC5941cEyyUXUJVLOQVD4afs+2grL09xtqYU6WpUPp e0Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778655780; x=1779260580; 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=GaH9g17uem0QR3nAcOAHHOsv86hTEnX1C7NUBwFlEN0=; b=aU7+Eg4dinbKvGewFv42rs+PJBYVJ3ZQG2VQCk2Mnp7jg3I4+q0UeGLzTSiDK9m/5I 4kUitCTI5GmdFMVg5VaL7wBsQKeyYwnBUcYvsa4lb6dgSjhr1GUW89CMUImQZSLCn/K+ FA3XXwa5/6iNHoYseA6V2TcNQBk9JHws/gK1Gl2/mR9rJyQ6fnukFYw7EMl0277+bBuM 6XKhOVJH46k+dWbA0hhITeEvS5yo5zEgZn7Of7/PS5XgKlTsjtOcbx/C3+l2O1gpbnUC VWn7EQ+Py/K0lYm1stHeSgcHKHHBLo8Jsp2axTklSJuoXaH3KtpgfzUmtc26GvrGpchu 1iFA== X-Forwarded-Encrypted: i=1; AFNElJ+qDgavEQkZN6W8NrfS4dZkkEqI+b7cGgQfOhZWXtb/AbVKtMqCYXyTl6jvwEHUMb/8w+qn5B9CgXa9HnQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwXrKuoWSvDuqipPuCGd5IDP7Vf3/9bIXqten+Kvw/QUZ8FRoqP bR94nQxZuPlVRXIlPNfQC4Y1pO0UPJG9gSsJJdlsR/tI2PjAq02jKsY= X-Gm-Gg: Acq92OEJNSUGFyN6uSpPNsnTpF0cTuV/I2wKk0VeQnIIRPSCC2ARVuHXXuEvC+/m9dC UQytQ3joDOXB09jmCZj1WeDaJiUj34YaCNzDtx7rhIeVAZLkNy9huqdtw7Nu7mJBpDI3IPJjecC lSo3uLOfjheLoHe9ldlJ71BtdUSBj9us4vgY5bgF9gRmfqnNAsfKA1H3ND28vTP2pIZCrsAOGqL af4n7hsQkbyk3idqWTR0Gx1ofPjCMLNvQVO/bWaDlwxgvGckslDbhhrEs4w11cbqvz5iCQ9S62F 0RQXpzPMy4D1vIz7mKL72WQMTBpSJxH3/eV+/o+hn0zx3AY7+tEIcskfk4wP7RmXZBVve4zyv88 42mx2gguIM+56Mf5sDu5sxSuZFcvvN98TLh2/3e0+jp2BZUpYGUqK7fcU89hvuIL7kysBwpAbSD A0y9pDM1zT6uPyaMd/xnZ7E7Og7FdKIZEDSYIyKTYU0oKII9+56tn9JJkdcTrT8HIyvsQoPVtpo frvGl8DSagQfYDDZXbHoPbZkvBXEz2bIbjeBVs= X-Received: by 2002:a05:6a00:4615:b0:83d:c0dd:62ef with SMTP id d2e1a72fcca58-83f042d4afdmr2101496b3a.45.1778655779889; Wed, 13 May 2026 00:02:59 -0700 (PDT) Received: from localhost.localdomain ([211.198.234.66]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-83967dbdfb0sm24906420b3a.45.2026.05.13.00.02.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 13 May 2026 00:02:59 -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: Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Ijae Kim , Myeonghun Pak Subject: [PATCH] media: radio-si476x: Unregister v4l2_device on probe failure Date: Wed, 13 May 2026 16:02:37 +0900 Message-ID: <20260513070254.29870-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 si476x_radio_probe() registers radio->v4l2dev before allocating the V4L2 controls and before registering the video device. If any of those later steps fails, probe returns through the exit label after freeing only the control handler. A failed probe does not call si476x_radio_remove(), so the v4l2_device_unregister() there is not reached. This leaves the parent device reference taken by v4l2_device_register() behind on the error path. Unregister the V4L2 device in the probe error path after freeing the controls. Fixes: b879a9c2a755 ("[media] v4l2: Add a V4L2 driver for SI476X MFD") Cc: stable@vger.kernel.org Co-developed-by: Ijae Kim Signed-off-by: Ijae Kim Signed-off-by: Myeonghun Pak --- drivers/media/radio/radio-si476x.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/radio/radio-si476x.c b/drivers/media/radio/radio= -si476x.c index 9980346cb5..bfe89782dc 100644 --- a/drivers/media/radio/radio-si476x.c +++ b/drivers/media/radio/radio-si476x.c @@ -1493,6 +1493,7 @@ static int si476x_radio_probe(struct platform_device = *pdev) return 0; exit: v4l2_ctrl_handler_free(radio->videodev.ctrl_handler); + v4l2_device_unregister(&radio->v4l2dev); return rval; } =20 --=20 2.39.5