From nobody Tue Apr 7 16:16:24 2026 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6542B391828 for ; Thu, 12 Mar 2026 16:38:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.77 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773333528; cv=none; b=DywLJk7iiKjOSfS/4awkloPHyUAQU+1dsk0GYVEyQQbIY0cmQ1ZiqG6AO64IdXZPbdIe42bOa99YZKV/yEYNmQ7M54B15k/dJSVQ77Ci8acZ6AO+8iJN11OFADtlhAazAL/LvO2BduWAlPpQWr18Wdt/GoYCYxTxhZRmjaVYc6A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773333528; c=relaxed/simple; bh=hG2W/aFtJxekjzsBKdzkHHLs+V6Bq3L3amu7nbgetjg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=IXrazNkyr85Jptr7BtJX6Wm3gNDSYY0HuTWTKnFyAWeik6fmpoC84RoJjVvm11pAlQ9cLdiqDv8aPKrqRbW8as71tm+sr/YesVyP5IKS2ECamEYM554E3EWpGQ4UxGjKiTCXc5gqtcxwVMCGidglt9Ux4IiB4Z3nm44kBBDL89g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=w+iugGLs; arc=none smtp.client-ip=148.163.135.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="w+iugGLs" Received: from pps.filterd (m0167088.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62CGGOUs030689; Thu, 12 Mar 2026 12:38:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=y+BT6 TAuklgJXAUP/fDRc1GEidKMvj7bQXggoi5xqto=; b=w+iugGLsLce04v5JO5xQn JHeYvQZhPjATzFgO1AnwkIKzpVJPFFD7uMGjVNO3PmpmoGrdF5ne2GlGm3901ZIZ cizvnAWzRaPVvp22WlQ4Dw5C22ZAXRvWqR2WVUQPrN/vpM2GkfTnNtvNFDKmWka4 68UUZZYc9d3mXHx3iJkUjKyT2P+ZtiNnY7VoTb61LtAWhqc2ylv9gAwcKp+jkCy3 hV4wDlk3Ssoj0Pq47JUj+ji46LY8S92nUifk81UHV1g+4S4nYleQ8EDXnLpdS+k/ HVWVnmOyeFuTWVF6ojzuzdi29sQuGCO9SdnG0HrsCKQR/ekSt94uUvemqX/d++lA g== Received: from nwd2mta4.analog.com ([137.71.173.58]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 4cuh763ehd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 12 Mar 2026 12:38:26 -0400 (EDT) Received: from ASHBMBX9.ad.analog.com (ASHBMBX9.ad.analog.com [10.64.17.10]) by nwd2mta4.analog.com (8.14.7/8.14.7) with ESMTP id 62CGcPxV009188 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 12 Mar 2026 12:38:25 -0400 Received: from ASHBMBX8.ad.analog.com (10.64.17.5) by ASHBMBX9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.37; Thu, 12 Mar 2026 12:38:25 -0400 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx8.ad.analog.com (10.64.17.5) with Microsoft SMTP Server id 15.2.1748.37 via Frontend Transport; Thu, 12 Mar 2026 12:38:25 -0400 Received: from HYB-DlYm71t3hSl.ad.analog.com (HYB-DlYm71t3hSl.ad.analog.com [10.44.3.82] (may be forged)) by zeus.spd.analog.com (8.15.1/8.15.1) with ESMTP id 62CGc8GZ021063; Thu, 12 Mar 2026 12:38:19 -0400 From: Jorge Marques Date: Thu, 12 Mar 2026 17:38:05 +0100 Subject: [PATCH v2 2/5] i3c: master: Move entdaa error suppression 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: <20260312-ad4062-positive-error-fix-v2-2-1c933b5c7ed8@analog.com> References: <20260312-ad4062-positive-error-fix-v2-0-1c933b5c7ed8@analog.com> In-Reply-To: <20260312-ad4062-positive-error-fix-v2-0-1c933b5c7ed8@analog.com> To: Alexandre Belloni , Frank Li , =?utf-8?q?Przemys=C5=82aw_Gaj?= CC: , , Dan Carpenter , Jonathan Cameron , Jorge Marques X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773333488; l=2374; i=jorge.marques@analog.com; s=20250303; h=from:subject:message-id; bh=hG2W/aFtJxekjzsBKdzkHHLs+V6Bq3L3amu7nbgetjg=; b=mASspbZmJfa283vsiPI97kggqxqBC7pLF/qoiWfXtKp/gG+cfKb0sHjhQxZXPPLz7yYHnaanT HXsDavPr/mCALSXpQSWbLiUIReXlUednEM6X60dkh+6db8Ni5SCa+0l X-Developer-Key: i=jorge.marques@analog.com; a=ed25519; pk=NUR1IZZMH0Da3QbJ2tBSznSPVfRpuoWdhBzKGSpAdbg= X-ADIRuleOP-NewSCL: Rule Triggered X-Proofpoint-ORIG-GUID: VwMxFwmhvvQP9WLznFsvgFqdy8GmAt0y X-Authority-Analysis: v=2.4 cv=AI0/m/Lt c=1 sm=1 tr=0 ts=69b2ec02 cx=c_pps a=3WNzaoukacrqR9RwcOSAdA==:117 a=3WNzaoukacrqR9RwcOSAdA==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=uXIjobp8t2wMuQ0fPvqm:22 a=gAnH3GRIAAAA:8 a=lW4FyyzJGg7ItnWL1goA:9 a=QEXdDO2ut3YA:10 X-Proofpoint-GUID: VwMxFwmhvvQP9WLznFsvgFqdy8GmAt0y X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEyMDEzNCBTYWx0ZWRfX8XEjzBe5/wyF Gn+mRRH/QJAvLxcxSz7KBDB9jUFV0KHQVdGv7AWbmIbfEFYqAe/wWarQVwY4hORQ+Df3D9wpKP2 Z8djefGnaQf/gTzsu//6D0O+vWFqiJZ98rxLnTAqi5q0Uq0dgJrg5n7zlxF0Vy7Fd3TxMK1GvWb 0/J4oCGW5bjdhpzG2SLTrI7FA2wIW3dMuT3CIJbo/R3s7nLfUqvCzi9/ethqQeC7DkU2B/xwIdY bN69lZKi7Vq8TYmmoNmpQOKFY/tXs3O8/gQgK+neKlXjAUc7+s8iLv5+gTVyX0WB7Dp5PJlxgc1 3BFQSHX651tmswzWx9lEeMHgDffB//cUB7Iv2UoDQpgI0AHEfKR/cfCYOWxXtEORAbGme7f7aiC L0WEh1HiUML7gfnpTZI4pFwZnsJMvbXH/Yd8FzWzocmqDh1xLKoOfZlZezOSsbvP4qBnEZo5Hoa qPum82xymHrvygBaXQw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-12_02,2026-03-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 impostorscore=0 spamscore=0 phishscore=0 bulkscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603120134 Prepares to fix improper Mx positive error propagation in later commits by handling Mx error codes where the i3c_ccc_cmd command is allocated. The CCC ENTDAA is invoked with i3c_master_entdaa_locked() and yields error I3C_ERROR_M2 if there are no devices active on the bus. Some controllers may also yield if there are no more devices need an dynamic address, since the sequence do always end in a NACK. Handle inside i3c_master_entdaa_locked(), checking cmd->err directly. Both call sites are updated, adi_i3c_master_do_daa() and cdns_i3c_master_do_daa(). Signed-off-by: Jorge Marques Reviewed-by: Adrian Hunter Reviewed-by: Frank Li --- drivers/i3c/master.c | 4 ++++ drivers/i3c/master/adi-i3c-master.c | 3 +-- drivers/i3c/master/i3c-master-cdns.c | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index c66f2655eb404..d4f9e7df4adc5 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -1050,6 +1050,10 @@ int i3c_master_entdaa_locked(struct i3c_master_contr= oller *master) ret =3D i3c_master_send_ccc_cmd_locked(master, &cmd); i3c_ccc_cmd_dest_cleanup(&dest); =20 + /* No active devices need an address. */ + if (ret && cmd.err =3D=3D I3C_ERROR_M2) + ret =3D 0; + return ret; } EXPORT_SYMBOL_GPL(i3c_master_entdaa_locked); diff --git a/drivers/i3c/master/adi-i3c-master.c b/drivers/i3c/master/adi-i= 3c-master.c index 6616f751075ae..fb9a488304469 100644 --- a/drivers/i3c/master/adi-i3c-master.c +++ b/drivers/i3c/master/adi-i3c-master.c @@ -655,8 +655,7 @@ static int adi_i3c_master_do_daa(struct i3c_master_cont= roller *m) =20 writel(irq_mask, master->regs + REG_IRQ_MASK); =20 - /* DAA always finishes with CE2_ERROR or NACK_RESP */ - if (ret && ret !=3D I3C_ERROR_M2) + if (ret) return ret; =20 /* Add I3C devices discovered */ diff --git a/drivers/i3c/master/i3c-master-cdns.c b/drivers/i3c/master/i3c-= master-cdns.c index b78aebf6b2ca4..5cfec6761494d 100644 --- a/drivers/i3c/master/i3c-master-cdns.c +++ b/drivers/i3c/master/i3c-master-cdns.c @@ -1143,7 +1143,7 @@ static int cdns_i3c_master_do_daa(struct i3c_master_c= ontroller *m) } =20 ret =3D i3c_master_entdaa_locked(&master->base); - if (ret && ret !=3D I3C_ERROR_M2) + if (ret) return ret; =20 newdevs =3D readl(master->regs + DEVS_CTRL) & DEVS_CTRL_DEVS_ACTIVE_MASK; --=20 2.51.1