From nobody Sat Apr 4 07:48:55 2026 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) (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 724803BB9F2 for ; Fri, 20 Mar 2026 14:18:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774016288; cv=none; b=OT22PnO5YV1upaABXhu9N2X4G4+IL1YhOPGugAi7tc28EvRtCLux6r6Gx3QstAobPzdZy0649lr7PX137ke+V6FNfa5HMatWfNfNTccsg+e1FBvjueo72LlibD9IkJy1mT0pU6EZ4lhhEAwK+krdlJzDBxEW1FiXuxLjXNaPTA0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774016288; c=relaxed/simple; bh=R0Z3bZeV0hh/U71x3Ob3WsiZ81BBR7uJWzCgGE2x66s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=mJcGPTUUmNZeiZVvoJ7JupxavRjgIbO06xqdgGAIwnc4FSUqhxMeeEACPnA5oFSKnznwHB9rGQQj8vxpSU9yFYburjZ56A+aKXa3AGCuYuSFzxxci5C9tBo91jWeCTCZPh1Zi4jCe528ksIlF98B12uvx0x0o+6EkGlIh2afc1U= 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=cnyoYfwz; arc=none smtp.client-ip=209.85.215.180 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="cnyoYfwz" Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-c7412b07f22so1346230a12.0 for ; Fri, 20 Mar 2026 07:18:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1774016287; x=1774621087; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=FTbxAMwyB7B6p0dqNCZpF7kgRQZLM7fb9kUoa/lAo50=; b=cnyoYfwzch9y1t73ooWXIjRPUN6cAxsujz9mR11lU6fLxciPysq5/pB5v+SgVkF4/H ngStYJDlfaSBh1yMHK33Fh/oLFwPot1Ul0TYVjYeQso5i/M7PvB7ynJO8eP070d0GHq8 foym1SN2pk/m3k/+JpxHBmuzziZwaIJPHMmoheJWSyNLk+KkKBCvzWPmsKGx4DpsiWaI SRtbVX2YvoaUIKhGYpLpUuIFbCL8iOWzxOHcSBRwgK1OmSnX86oOfO0MgKNMPTF0rj5s aeN7ByFrQ2UB1QD2kkd8FGZk9sHsH+8jUqLxG7LTtp7bKmOW8uNFSAIk5BgAWanevuAR 5S5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774016287; x=1774621087; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FTbxAMwyB7B6p0dqNCZpF7kgRQZLM7fb9kUoa/lAo50=; b=irm8yQVUOIOFtBFqXL7yfjvyG6ElTum+d8yHlXglc67d4oKB2PIukTONVcL4vUVg2u dml7pn+z+4SPVzOOExBOP3uT26mSwktqlyelr6qkR9srfcfrCukBFDAhSfixOFcDKZvg ykTbwta4mejwn6pk4eZb2f+pdy0PY+1nF6emXcvuST4e4ijA14/KKswEbMa5hY4yP/dD XjSjuc7MkfaJEh3Pcn7s1zdnztY3/Bqe6hVtw54oNPIY5ouNbDejvxThacMBId+Wl50W 1yhuYAJq3tU/6vhGhijwwDTyz7yNRqaV3vCi47XKeW+f5gMbNmVbeAoi7dbiaEu9bUdl f0dw== X-Forwarded-Encrypted: i=1; AJvYcCUkN+8eaZsESG4qyRqPGIwawHY2ws80btdzvapBk9bmi3MY+VxPuv8SpbR0I7T4qiyt1bfUqIzBIj8j1QY=@vger.kernel.org X-Gm-Message-State: AOJu0YzYLqK5qhQHab/WpmLfHRClpMCoNOFg1BNVgHbBkOIP+VvNKAtt 5nTRE8DTa4f9XWQZ2FiDyx40QeFWvGBWiWIDdplof97kzNt7XvuOVq+U X-Gm-Gg: ATEYQzx0e+OmrD4VzNPjFVsW0ikql7E2ny1trSNqWDvv9T1XlEvQLGcCecBPMfFKrhs OXOSrrqINu1TXQew8isWP+Vk2GgnwYlqhaPyw68IIpTvY6ce630SQVW/2zKodTYPodEuRYJebcs y15Yz9QB6UD14c4j+7ibw4MHJi8M5OeolVkNlISlRE0diGXna1LuwzmTazwkh7u/KMXOQpzToR6 /Hsxj65RQldOTOz6NLZ59dRiiw9cnSm+uLS6l5Fm6JAfg/mQVaaFUSJ0j49d332gfObtnJ+Au7Y szAuCT6JwUyJE3AsXtrOhX4iJvW7qa9JSh7X8BaZplcvcyGcWrNuw2lZsB8pIz71ZS1ZDixXwUd +ZFn1HmOB4r8frXQ1YdBiGuis5xkUfGlSca1LbhlTxtyA9oA8kMVAmF6dbuZGszL1ffeFS5XVMH Jeir3EChq5wn4xPrkutoxGiV38TaW7aft/jnpK X-Received: by 2002:a17:90b:28c8:b0:34a:be93:72ee with SMTP id 98e67ed59e1d1-35bd27807c5mr2206862a91.8.1774016286486; Fri, 20 Mar 2026 07:18:06 -0700 (PDT) Received: from junjungu-PC.localdomain ([223.167.147.240]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35bc5ff704bsm5543815a91.2.2026.03.20.07.18.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Mar 2026 07:18:06 -0700 (PDT) From: Felix Gu Date: Fri, 20 Mar 2026 22:18:02 +0800 Subject: [PATCH v3] i3c: master: dw-i3c: Fix missing reset assertion in remove() callback Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260320-dw-i3c-v3-1-477040c2e3f5@gmail.com> X-B4-Tracking: v=1; b=H4sIABlXvWkC/2WMyw6CMBBFf4XM2po+sAVX/odxUcoAkwg1rakaw r9bWBgSl+fmnjNDxEAY4VzMEDBRJD9lUIcC3GCnHhm1mUFyqbkSmrUvRsoxNFbpxtVcVxLy+RG wo/cWut4yDxSfPny2bhLr+pdIgglmm1LUvOycqfilHy3dj86PsCaS3Gvmp8msdfZkUKu6bES71 5Zl+QJcsn0g0wAAAA== X-Change-ID: 20260316-dw-i3c-e7a36bc90682 To: Alexandre Belloni , Frank Li , Philipp Zabel , Aniket Cc: linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org, Felix Gu X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1774016285; l=2383; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=R0Z3bZeV0hh/U71x3Ob3WsiZ81BBR7uJWzCgGE2x66s=; b=CdZU9wECBXs9XSxNzfWC4JQx/or1NGqlbLm/T15s7ikS2xhAg+X/CtJ1LtL3twxzDv63Pg3/B ywt8Hjr0/8bCx0CVbD0OTk3TRU907kmjiL7WQ0XE7BbO/RGuyfqZvIX X-Developer-Key: i=ustc.gu@gmail.com; a=ed25519; pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw= The reset line acquired during probe is currently left deasserted when the driver is unbound. Switch to devm_reset_control_get_optional_exclusive_deasserted() to ensure the reset is automatically re-asserted by the devres core when the driver is removed. Fixes: 62fe9d06f570 ("i3c: dw: Add power management support") Reviewed-by: Philipp Zabel Signed-off-by: Felix Gu Reviewed-by: Frank Li --- Changes in v3: - Fix the format to pass checkpatch --strict. - Link to v2: https://lore.kernel.org/r/20260317-dw-i3c-v2-1-fa57e6394b1d@g= mail.com Changes in v2: - Switch to devm_reset_control_get_optional_exclusive_deasserted()=20 suggested by Philipp Zabel. - Link to v1: https://lore.kernel.org/r/20260316-dw-i3c-v1-1-ab41904fc780@g= mail.com --- drivers/i3c/master/dw-i3c-master.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c= -master.c index d87bde3f7700..d104807cf74e 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -1606,13 +1606,11 @@ int dw_i3c_common_probe(struct dw_i3c_master *maste= r, if (IS_ERR(master->pclk)) return PTR_ERR(master->pclk); =20 - master->core_rst =3D devm_reset_control_get_optional_exclusive(&pdev->dev, - "core_rst"); + master->core_rst =3D devm_reset_control_get_optional_exclusive_deasserted= (&pdev->dev, + "core_rst"); if (IS_ERR(master->core_rst)) return PTR_ERR(master->core_rst); =20 - reset_control_deassert(master->core_rst); - spin_lock_init(&master->xferqueue.lock); INIT_LIST_HEAD(&master->xferqueue.list); =20 @@ -1624,7 +1622,7 @@ int dw_i3c_common_probe(struct dw_i3c_master *master, dw_i3c_master_irq_handler, 0, dev_name(&pdev->dev), master); if (ret) - goto err_assert_rst; + return ret; =20 platform_set_drvdata(pdev, master); =20 @@ -1671,9 +1669,6 @@ int dw_i3c_common_probe(struct dw_i3c_master *master, pm_runtime_set_suspended(&pdev->dev); pm_runtime_dont_use_autosuspend(&pdev->dev); =20 -err_assert_rst: - reset_control_assert(master->core_rst); - return ret; } EXPORT_SYMBOL_GPL(dw_i3c_common_probe); --- base-commit: b84a0ebe421ca56995ff78b66307667b62b3a900 change-id: 20260316-dw-i3c-e7a36bc90682 Best regards, --=20 Felix Gu