From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (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 8E7793537C4 for ; Wed, 29 Jul 2026 02:18:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785291488; cv=none; b=G+WopyjkGTHjBbjQvKNj7aVZlKVkG5Xd1FAHUHq6KEuSNvvS080nlAgcfBqVtzHX4v4ZC4Mn9ul7hv2cg2yfVbZQUE2jfnbXw9gk8Gtbmv4R6IvxX92o3WR71qc/5wsjM2DIFNhq7AjiRVgrpq6NrXxaf+5eTm/dzlpi4SDpdJU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785291488; c=relaxed/simple; bh=flvQXJwYxQzImdEpjPa/q4K2tmrj2oOcdMd9zvRpMS0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=BmigXQYoFjD0YdSbFRpEDdlTG0ymY3DFPEdOe81nkElf9X6RsxS90fSCLp8U8iddcjex41E+Togq6qx2gZhdgNLvUAKH4ze3PSI7p8fsVvtFzO9C5v3IV4b3Xnd3wJC6IjGW2q15HIOYJugtC+mIz9Z7DlS6YUKcLtaL5cz9rI8= 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=ekku+KDl; arc=none smtp.client-ip=209.85.210.181 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="ekku+KDl" Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-84e04df8c46so508110b3a.2 for ; Tue, 28 Jul 2026 19:18:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785291483; x=1785896283; 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:content-type; bh=oKxp8OyC0qry4zNtvMecpuE/hbir09TCLAtTFykGWS4=; b=ekku+KDlzq1of1zy6AJw5ANEEmLG0934EBDvIE+aL5so1pNR3+kdJHi5bJ24Z+K8In GI5YDsgPDUB2JiZadUeVGbMpzlTh80bbmjk9dFwnYoUkwSywbYx9LyZ+i+JBNID6SVAi yRqA6n8GTBug8C0zwyP8w6nqYCVNGh/qHoTD0STUYMAtabjNAD61/n7ozl3UHGULZXeu oH+MWGL5nuAt4suNDm9rxNue4845ql627egNW6ft8SB/K3UIdjFc3yQWlDNjVEHeKfYQ x5bYmakow15gYyeNyZPDx4nUOCm3BgAF8fz2NC5FCXG/9d9wiwaq39kWjS4nFocgO44n L0Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785291483; x=1785896283; 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:content-type; bh=oKxp8OyC0qry4zNtvMecpuE/hbir09TCLAtTFykGWS4=; b=FgzWQRpVyqnlx5A74zTyPbApJc5DHvipweVs/3W2ispeHW3DdYTwR9dMu3nxsw3M1q GVenDHyPQL6VfssdX1EENU/28gvQbi5i5I3xi5/1g+bl/5j27vmfzqp6BvVuA0zO55M6 XP8nhzZOy9+qns1rA/f9/oobnbIMKlmuHVHFLLi8f4d5hmf2JZuokAlarBmaTFsWzWCk ITzB2IaVsynB9ZB1Z2IF2Fd0OeGzWoopmA15SRuPVfc1HNvcXbqXFOuCVq8yL92HSbmZ M4uHu5fdcBHfYZ1H8MaLGGGkk9EtVd/buI63om17P8agz9iHl5y/6yaUvw49jTw1L6cn t0mg== X-Forwarded-Encrypted: i=1; AHgh+RrymcMu/bjA6SE/HGamQRb+/HnWvS/dwS+XYrcuM1JVlxoLFgPlyak4A5fpH9odg0sENPXmetia37roXXM=@vger.kernel.org X-Gm-Message-State: AOJu0YxiqmEK/gOjpSUKNJo3w9dga+vNze6e1GS6XGBwVvg2arFR7siC k+r+Dc99Wjq+W4fmpIB4J5lU07zuejfSZUE1+ZDyx5g3rjfq3Ojtkko= X-Gm-Gg: AR+sD12OIxioxLuNnVPH5gxradngiUHZ8ZrIygt/otWBljZzDw8kHjjcH+J+P+aVR6j AydfR1vOJgp5gtNjrJYFlzCCIDtho4NRMJ+dku+SVn+VZf4RAnxHZ/yye9SlORAouV28lzyfVxr RNrjHW7ZpdNHF6iKHa04MuGW8U6GzyuhxDnRIjcFK6v0cR2SXE1NhZZzl0E9/bRHHzK6/70jpfb I+Tlm4TBFIqVjV7wdWpyOgLbTs5OwUxX2djOLHb2asmXk4CZVnMkielz1E0TEgKX6EZwM/GTFrF NfjVTiXD4MQ3dPY7q5tpqaCVQB9qCqHSguYIwDOv/+j3CHL93SrZLzQ66VXAlaP/fAuTWh/qU4B VjIxfHHdQ6epAtCpfnv9xl8GaivxhLFP3/BwttjXNNatW3eLobxYoKqdwbmiEKWOPEWMQmz2G8S U/aTIcFoEbLRcFd8IzWmPoi9oVq9Bqo7IoB9e6I+/Jbd0laIoYM5/xmlMeVQhL6b59aETW0b/fe t2rgsEmKyxvRYnfyNyfgbnzzPNv7P9GmuKf/QRpSqsHjlWzGyOouYT4wUXUSvXbUUqKEBV9Fp0X FKYguPbb89nB+GRbbtD3HbY= X-Received: by 2002:a05:6a00:805:b0:848:86cf:267b with SMTP id d2e1a72fcca58-84e9336c482mr4934959b3a.61.1785291483412; Tue, 28 Jul 2026 19:18:03 -0700 (PDT) Received: from localhost.localdomain ([1.226.165.54]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84ea02fa474sm605327b3a.30.2026.07.28.19.18.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Jul 2026 19:18:02 -0700 (PDT) From: Myeonghun Pak To: Richard Cochran Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Myeonghun Pak , Ijae Kim Subject: [PATCH net] ptp: fc3: unregister PTP clock on probe failure Date: Wed, 29 Jul 2026 11:17:50 +0900 Message-ID: <20260729021750.49181-1-mhun512@gmail.com> X-Mailer: git-send-email 2.50.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 ptp_clock_register() leaves a registered clock referring to the clock information embedded in idtfc3. If either post-registration operation fails, probe returns and devres frees idtfc3 without unregistering the clock. Unregister the clock on both post-registration failure paths. Fixes: 1ddfecafabf7 ("ptp: add FemtoClock3 Wireless as ptp hardware clock") Cc: stable@vger.kernel.org Co-developed-by: Ijae Kim Signed-off-by: Ijae Kim Signed-off-by: Myeonghun Pak --- drivers/ptp/ptp_fc3.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/ptp/ptp_fc3.c b/drivers/ptp/ptp_fc3.c --- a/drivers/ptp/ptp_fc3.c +++ b/drivers/ptp/ptp_fc3.c @@ -835,11 +835,11 @@ static int idtfc3_enable_ptp(struct idtfc3 *idtfc3) err = idtfc3_set_overhead(idtfc3); if (err) - return err; + goto err_unregister_clock; err = idtfc3_init_timecounter(idtfc3); if (err) - return err; + goto err_unregister_clock; dev_info(idtfc3->dev, "TIME_SYNC_CHANNEL registered as ptp%d", idtfc3->ptp_clock->index); @@ -847,4 +847,8 @@ static int idtfc3_enable_ptp(struct idtfc3 *idtfc3) return 0; + +err_unregister_clock: + ptp_clock_unregister(idtfc3->ptp_clock); + return err; } static int idtfc3_load_firmware(struct idtfc3 *idtfc3) -- 2.50.1