From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 40BAAC43458 for ; Tue, 14 Jul 2026 11:56:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=lt2K9yuS3EQBL1R4UYvXU/M8IopZTh96Lvk/qbdLIAM=; b=OnL77F9Z47wd/5 pmF/RPgjnsyottDQrJxfzGsg+7w7ne2/kd/t9NHynUqUljl65gvxRDfef+1M7MtGvSZeGOKqgsBep 2+4OJo5uzO4GbYRUZqoW9W6GXGvEFdluP+MQ0jcN5qvJla1NgGoWPN/M78coFUlsdrTjwX4nJvsli McejB4IZtMKBYD7kxSP5+A4uFHnSDGFnNp+y3GWLj0aWiKaL6bBBnDngZu79E7XH+QcMnXZqZUmiI 86kyn4c4ZI33sVZZqu2XtZYN4hKECn2j2gk4R99Ly0cVFkLt123N43FHu0Mn4/pXZa66ClPlUkGwK rA9MkBVPLHDClcAbFlIw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wjbkp-0000000Bof1-02Id; Tue, 14 Jul 2026 11:56:51 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wjbkn-0000000Boea-1N52 for linux-i3c@lists.infradead.org; Tue, 14 Jul 2026 11:56:49 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id A3BC340705; Tue, 14 Jul 2026 11:56:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1C1F11F000E9; Tue, 14 Jul 2026 11:56:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784030208; bh=A70o6ny6N8xHNETraJzkrlU6hF3vVWkSiOeMJiM96f0=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=AbBmtGaHgJV7ZRwCVM55j+DJclF5NzhPt4usLqgczbygcIupvtB/cFSAN+l1V5U6B TcGhbiyR8ArI5+EEL6FPKkn4udycQeO52eioq3bXkY4jINtlhF72FL3KkVld4O0rp3 KPMMTl96ApJtRJ9iwqN80flpwviBbepGss/z++foQa/57ATeVm6et1RmubceyUQf85 nEW2BwSTVS18BmZSgdT3LYRXMZP0GXYDZLM81t8+zNnnTW7I+vKiooFZ1Vz+kRO/fq LcR7sXB0yaLhAaJWyJrWuvVcLEkgFjCFG0iA9BTX9nVmeNqsBorUpRb7YrvrSTilrk WbgeAZA0q7A0g== From: sashiko-bot@kernel.org Subject: Re: [PATCH v14 8/8] i3c: hub: p3h2x4x: Add SMBus slave mode support To: "Lakshay Piplani" Cc: "Alexandre Belloni" , Frank.Li@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org, robh@kernel.org, linux-i3c@lists.infradead.org In-Reply-To: <20260714092053.2461482-9-lakshay.piplani@nxp.com> References: <20260714092053.2461482-1-lakshay.piplani@nxp.com> <20260714092053.2461482-9-lakshay.piplani@nxp.com> Date: Tue, 14 Jul 2026 11:56:47 +0000 Message-Id: <20260714115648.1C1F11F000E9@smtp.kernel.org> X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MiBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFVucHJvdGVjdGVkIHNo YXJlZCBzdGF0ZSBtb2RpZmljYXRpb24gYWZ0ZXIgZXhwb3NpbmcgdGhlIEkyQyBhZGFwdGVyIGNy ZWF0ZXMgYSByYWNlIGNvbmRpdGlvbiB0aGF0IGNhbiBvdmVyd3JpdGUgc2xhdmUgcmVnaXN0cmF0 aW9uIHN0YXRlIGFuZCBkcm9wIElCSSBkYXRhCi0gW01lZGl1bV0gTWl4aW5nIGdvdG8tYmFzZWQg ZXJyb3IgaGFuZGxpbmcgd2l0aCBzY29wZS1iYXNlZCBndWFyZCgpIGNsZWFudXAKLS0KCi0tLSBQ YXRjaCBbOF06IFtQQVRDSCB2MTQgOC84XSBpM2M6IGh1YjogcDNoMng0eDogQWRkIFNNQnVzIHNs YXZlIG1vZGUgc3VwcG9ydCAtLS0KY29tbWl0IDhhZmFiNmQwZWM4NjUzNTc0ZDVkZjQzMDU4NGQ1 M2FiNWNhNmQ4Y2IKQXV0aG9yOiBMYWtzaGF5IFBpcGxhbmkgPGxha3NoYXkucGlwbGFuaUBueHAu Y29tPgpTdWJqZWN0OiBpM2M6IGh1YjogcDNoMng0eDogQWRkIFNNQnVzIHNsYXZlIG1vZGUgc3Vw cG9ydAoKVGhpcyBjb21taXQgYWRkcyBTTUJ1cyBzbGF2ZSBtb2RlIHN1cHBvcnQgZm9yIHRoZSBQ M0gyeDR4IGh1YiBTTUJ1cyB0YXJnZXQKcG9ydHMuIEl0IHNldHMgdXAgdGhlIHJlY2VpdmUgcGF0 aCB2aWEgSUJJIGFuZCBmb3J3YXJkcyBwYXlsb2FkcyB0byB0aGUKcmVnaXN0ZXJlZCBJMkMgc2xh dmUgY2xpZW50LgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pM2MvaHViL3AzaDI4NDBfaTNjX2h1 Yl9zbWJ1cy5jIGIvZHJpdmVycy9pM2MvaHViL3AzaDI4NDBfaTNjX2h1Yl9zbWJ1cy5jCj4gaW5k ZXggYjk5MWM0NmYzZWQ1OS4uODllOTRmNTUxYjMxZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2kz Yy9odWIvcDNoMjg0MF9pM2NfaHViX3NtYnVzLmMKPiArKysgYi9kcml2ZXJzL2kzYy9odWIvcDNo Mjg0MF9pM2NfaHViX3NtYnVzLmMKWyAuLi4gXQo+ICt2b2lkIHAzaDJ4NHhfaWJpX2hhbmRsZXIo c3RydWN0IGkzY19kZXZpY2UgKmkzY2RldiwKPiArCQkJIGNvbnN0IHN0cnVjdCBpM2NfaWJpX3Bh eWxvYWQgKnBheWxvYWQpCj4gK3sKWyAuLi4gXQo+ICsJZm9yIChpID0gMDsgaSA8IFAzSDJYNFhf VFBfTUFYX0NPVU5UOyArK2kpIHsKPiArCQlpZiAoISgocGF5bG9hZF9ieXRlX3R3byA+PiBpKSAm IDB4MDEpKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJaWYgKCFwM2gyeDR4X2kzY19odWItPnRw X2J1c1tpXS5pc19yZWdpc3RlcmVkKSB7Cj4gKwkJCWRldl9kYmcoJmkzY2Rldi0+ZGV2LCAiSUJJ IGZvciB1bnJlZ2lzdGVyZWQgU01CdXMgcG9ydCAldVxuIiwgaSk7Cj4gKwkJCXJlZ21hcF93cml0 ZShwM2gyeDR4X2kzY19odWItPnJlZ21hcCwKPiArCQkJCSAgICAgUDNIMlg0WF9UUDBfU01CVVNf QUdOVF9TVFMgKyBpLAo+ICsJCQkJICAgICBCVUZfUkVDRUlWRURfRkxBR19URl9NQVNLKTsKPiAr CQkJY29udGludWU7Cj4gKwkJfQoKW1NldmVyaXR5OiBIaWdoXQpDb3VsZCB0aGVyZSBiZSBhIHJh Y2UgY29uZGl0aW9uIHdpdGggc3luY2hyb25vdXMgc2xhdmUgYmluZGluZyBoZXJlPwoKV2hlbiB0 aGUgSTJDIGFkYXB0ZXIgaXMgZXhwb3NlZCB0byB0aGUgc3lzdGVtIGluIHAzaDJ4NHhfdHBfc21i dXNfYWxnbygpLAphIHNsYXZlIGRyaXZlciBjYW4gYmluZCBzeW5jaHJvbm91c2x5IGFuZCBpbnZv a2UgcDNoMng0eF90cF9pMmNfcmVnX3NsYXZlKCkuClRoaXMgd291bGQgZW5hYmxlIElCSSBpbiBo YXJkd2FyZSBhbmQgc2V0IGliaV9lbiB0byB0cnVlLgoKSG93ZXZlciwgcmlnaHQgYWZ0ZXIgaTJj X2FkZF9hZGFwdGVyKCkgcmV0dXJucywgcDNoMng0eF90cF9zbWJ1c19hbGdvKCkKb3ZlcndyaXRl cyBpYmlfZW4gdG8gZmFsc2UgYW5kIHNldHMgaXNfcmVnaXN0ZXJlZCB0byB0cnVlIHdpdGhvdXQg YW55IGxvY2tzOgoKZHJpdmVycy9pM2MvaHViL3AzaDI4NDBfaTNjX2h1Yl9zbWJ1cy5jOnAzaDJ4 NHhfdHBfc21idXNfYWxnbygpIHsKICAgIC4uLgogICAgcmV0ID0gaTJjX2FkZF9hZGFwdGVyKHNt YnVzX2FkYXB0ZXIpOwogICAgaWYgKHJldCkgewogICAgICAgIHAzaDJ4NHhfdW5yZWdpc3Rlcl9z bWJ1c19hZGFwdGVycyhodWIpOwogICAgICAgIHJldHVybiByZXQ7CiAgICB9CgogICAgaHViLT50 cF9idXNbdHBdLmlzX3JlZ2lzdGVyZWQgPSB0cnVlOwogICAgaHViLT5odWJfY29uZmlnLnRwX2Nv bmZpZ1t0cF0uaWJpX2VuID0gZmFsc2U7CiAgICAuLi4KfQoKSWYgYW4gSUJJIGFycml2ZXMgZHVy aW5nIHRoaXMgdGlueSB3aW5kb3csIHdvdWxkbid0IHRoZSBoYW5kbGVyIGRyb3AgdGhlIGRhdGEK YmVjYXVzZSBpc19yZWdpc3RlcmVkIGlzIHN0aWxsIGZhbHNlPyBBbHNvLCB3b24ndCB0aGUgYmxp bmQgb3ZlcndyaXRlIG9mCmliaV9lbiB0byBmYWxzZSBjb3JydXB0IHRoZSBuZXdseSByZWdpc3Rl cmVkIHNsYXZlJ3Mgc3RhdGU/CgpbIC4uLiBdCj4gK3N0YXRpYyBpbnQgcDNoMng0eF90cF9pMmNf cmVnX3NsYXZlKHN0cnVjdCBpMmNfY2xpZW50ICpzbGF2ZSkKPiArewpbIC4uLiBdCj4gKwlndWFy ZChtdXRleCkoJmh1Yi0+ZXR4X211dGV4KTsKPiArCj4gKwlpZiAoIWh1Yi0+aTNjZGV2IHx8ICFo dWItPmliaV9yZWFkeSkKPiArCQlyZXR1cm4gLUVPUE5PVFNVUFA7Cj4gKwo+ICsJaWYgKGJ1cy0+ dHBfc21idXNfY2xpZW50KQo+ICsJCXJldHVybiAtRUJVU1k7Cj4gKwo+ICsJbXV0ZXhfbG9jaygm cDNoMng0eC0+cHJvdGVjdGVkX3JlZ19sb2NrKTsKPiArCj4gKwkvKiBVbmxvY2sgYWNjZXNzIHRv IHByb3RlY3RlZCByZWdpc3RlcnMgKi8KPiArCXJldCA9IHJlZ21hcF93cml0ZShodWItPnJlZ21h cCwgUDNIMlg0WF9ERVZfUkVHX1BST1RFQ1RJT05fQ09ERSwKPiArCQkJICAgUDNIMlg0WF9SRUdJ U1RFUlNfVU5MT0NLX0NPREUpOwo+ICsJaWYgKHJldCkKPiArCQlnb3RvIG91dF91bmxvY2tfbXV0 ZXg7ClsgLi4uIF0KPiArb3V0X3VubG9ja19tdXRleDoKPiArCW11dGV4X3VubG9jaygmcDNoMng0 eC0+cHJvdGVjdGVkX3JlZ19sb2NrKTsKPiArCj4gKwlpZiAoIXJldCkgewo+ICsJCWJ1cy0+dHBf c21idXNfY2xpZW50ID0gc2xhdmU7Cj4gKwkJaHViLT5odWJfY29uZmlnLnRwX2NvbmZpZ1tidXMt PnRwX3BvcnRdLmliaV9lbiA9IHRydWU7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiArfQoK W1NldmVyaXR5OiBNZWRpdW1dClRoZSBjbGVhbnVwIHN1YnN5c3RlbSBndWlkZWxpbmVzIHN1Z2dl c3QgYXZvaWRpbmcgbWl4aW5nIGdvdG8tYmFzZWQgZXJyb3IKaGFuZGxpbmcgd2l0aCBzY29wZS1i YXNlZCBndWFyZCgpIGNsZWFudXAgaW4gdGhlIHNhbWUgZnVuY3Rpb24uIENvdWxkIHRoaXMKbWl4 IGNyZWF0ZSBjb25mdXNpbmcgb3duZXJzaGlwIHNlbWFudGljcyBoZXJlPwoKPiArCj4gK3N0YXRp YyBpbnQgcDNoMng0eF90cF9pMmNfdW5yZWdfc2xhdmUoc3RydWN0IGkyY19jbGllbnQgKnNsYXZl KQo+ICt7ClsgLi4uIF0KPiArCWd1YXJkKG11dGV4KSgmaHViLT5ldHhfbXV0ZXgpOwo+ICsKPiAr CWlmIChidXMtPnRwX3NtYnVzX2NsaWVudCAhPSBzbGF2ZSkKPiArCQlyZXR1cm4gLUVJTlZBTDsK PiArCj4gKwlidXMtPnRwX3NtYnVzX2NsaWVudCA9IE5VTEw7Cj4gKwlodWItPmh1Yl9jb25maWcu dHBfY29uZmlnW2J1cy0+dHBfcG9ydF0uaWJpX2VuID0gZmFsc2U7Cj4gKwo+ICsJbXV0ZXhfbG9j aygmcDNoMng0eC0+cHJvdGVjdGVkX3JlZ19sb2NrKTsKPiArCj4gKwkvKiBVbmxvY2sgYWNjZXNz IHRvIHByb3RlY3RlZCByZWdpc3RlcnMgKi8KPiArCXJldCA9IHJlZ21hcF93cml0ZShodWItPnJl Z21hcCwgUDNIMlg0WF9ERVZfUkVHX1BST1RFQ1RJT05fQ09ERSwKPiArCQkJICAgUDNIMlg0WF9S RUdJU1RFUlNfVU5MT0NLX0NPREUpOwo+ICsJaWYgKHJldCkKPiArCQlnb3RvIG91dF91bmxvY2tf bXV0ZXg7ClsgLi4uIF0KPiArb3V0X3VubG9ja19tdXRleDoKPiArCW11dGV4X3VubG9jaygmcDNo Mng0eC0+cHJvdGVjdGVkX3JlZ19sb2NrKTsKPiArCXJldHVybiByZXQ7Cj4gK30KCltTZXZlcml0 eTogTWVkaXVtXQpTaW1pbGFyIHRvIHRoZSByZWdpc3RyYXRpb24gZnVuY3Rpb24gYWJvdmUsIGRv ZXMgdGhlIHVzZSBvZiBib3RoIGd1YXJkKG11dGV4KQphbmQgZ290byBvdXRfdW5sb2NrX211dGV4 IGluIHRoaXMgZnVuY3Rpb24gdmlvbGF0ZSB0aGUgY2xlYW51cCBndWlkZWxpbmVzPwoKLS0gClNh c2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2MDcx NDA5MjA1My4yNDYxNDgyLTEtbGFrc2hheS5waXBsYW5pQG54cC5jb20/cGFydD04CgotLSAKbGlu dXgtaTNjIG1haWxpbmcgbGlzdApsaW51eC1pM2NAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWkzYwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (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 A97C42FBE1F for ; Tue, 14 Jul 2026 11:56:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784030209; cv=none; b=TiZpQG9Bj5qcsopxZOzRjxE1mcKtSlDngrnQb+I3Da6xFpdw2vI6lXrF4jJlhEhhgSOzI4qbzSewrefZIL3xsOb3Hif0JDz5i81VTX6R1gc/I0nGz7jQ4+Pox+3+JvEQPsZtKJcyVHfKTEIqi0QCFohICYfCOpwOeOfz8p+yH4I= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784030209; c=relaxed/simple; bh=k+8aQBLdAJtv6RN+Bo9nDfaV7RCeFidHUKwlf0dYj/Q=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=T8EVwShG8qC67WNrt7MzxzLMNRJdLmmRKRWi7u31Af6M2d7aQZbTykaVr0hZ44zQ816W/uyvcHBzmiDPPwxVEJloV8/wvZ6gXiXJnAPlzJa5OyZ/kEe0RQHr9Ro01UHr+N75Irwl6tIdf7TONdic7qV9pF+5DhoDW30T9n7lzM4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AbBmtGaH; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AbBmtGaH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1C1F11F000E9; Tue, 14 Jul 2026 11:56:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784030208; bh=A70o6ny6N8xHNETraJzkrlU6hF3vVWkSiOeMJiM96f0=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=AbBmtGaHgJV7ZRwCVM55j+DJclF5NzhPt4usLqgczbygcIupvtB/cFSAN+l1V5U6B TcGhbiyR8ArI5+EEL6FPKkn4udycQeO52eioq3bXkY4jINtlhF72FL3KkVld4O0rp3 KPMMTl96ApJtRJ9iwqN80flpwviBbepGss/z++foQa/57ATeVm6et1RmubceyUQf85 nEW2BwSTVS18BmZSgdT3LYRXMZP0GXYDZLM81t8+zNnnTW7I+vKiooFZ1Vz+kRO/fq LcR7sXB0yaLhAaJWyJrWuvVcLEkgFjCFG0iA9BTX9nVmeNqsBorUpRb7YrvrSTilrk WbgeAZA0q7A0g== From: sashiko-bot@kernel.org Subject: Re: [PATCH v14 8/8] i3c: hub: p3h2x4x: Add SMBus slave mode support Reply-To: sashiko-reviews@lists.linux.dev To: "Lakshay Piplani" Cc: "Alexandre Belloni" , Frank.Li@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org, robh@kernel.org, linux-i3c@lists.infradead.org In-Reply-To: <20260714092053.2461482-9-lakshay.piplani@nxp.com> References: <20260714092053.2461482-1-lakshay.piplani@nxp.com> <20260714092053.2461482-9-lakshay.piplani@nxp.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Tue, 14 Jul 2026 11:56:47 +0000 Message-Id: <20260714115648.1C1F11F000E9@smtp.kernel.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 2 potential issue(= s) to consider: - [High] Unprotected shared state modification after exposing the I2C adapt= er creates a race condition that can overwrite slave registration state and= drop IBI data - [Medium] Mixing goto-based error handling with scope-based guard() cleanup -- --- Patch [8]: [PATCH v14 8/8] i3c: hub: p3h2x4x: Add SMBus slave mode supp= ort --- commit 8afab6d0ec8653574d5df430584d53ab5ca6d8cb Author: Lakshay Piplani Subject: i3c: hub: p3h2x4x: Add SMBus slave mode support This commit adds SMBus slave mode support for the P3H2x4x hub SMBus target ports. It sets up the receive path via IBI and forwards payloads to the registered I2C slave client. > diff --git a/drivers/i3c/hub/p3h2840_i3c_hub_smbus.c b/drivers/i3c/hub/p3= h2840_i3c_hub_smbus.c > index b991c46f3ed59..89e94f551b31f 100644 > --- a/drivers/i3c/hub/p3h2840_i3c_hub_smbus.c > +++ b/drivers/i3c/hub/p3h2840_i3c_hub_smbus.c [ ... ] > +void p3h2x4x_ibi_handler(struct i3c_device *i3cdev, > + const struct i3c_ibi_payload *payload) > +{ [ ... ] > + for (i =3D 0; i < P3H2X4X_TP_MAX_COUNT; ++i) { > + if (!((payload_byte_two >> i) & 0x01)) > + continue; > + > + if (!p3h2x4x_i3c_hub->tp_bus[i].is_registered) { > + dev_dbg(&i3cdev->dev, "IBI for unregistered SMBus port %u\n", i); > + regmap_write(p3h2x4x_i3c_hub->regmap, > + P3H2X4X_TP0_SMBUS_AGNT_STS + i, > + BUF_RECEIVED_FLAG_TF_MASK); > + continue; > + } [Severity: High] Could there be a race condition with synchronous slave binding here? When the I2C adapter is exposed to the system in p3h2x4x_tp_smbus_algo(), a slave driver can bind synchronously and invoke p3h2x4x_tp_i2c_reg_slave(). This would enable IBI in hardware and set ibi_en to true. However, right after i2c_add_adapter() returns, p3h2x4x_tp_smbus_algo() overwrites ibi_en to false and sets is_registered to true without any locks: drivers/i3c/hub/p3h2840_i3c_hub_smbus.c:p3h2x4x_tp_smbus_algo() { ... ret =3D i2c_add_adapter(smbus_adapter); if (ret) { p3h2x4x_unregister_smbus_adapters(hub); return ret; } hub->tp_bus[tp].is_registered =3D true; hub->hub_config.tp_config[tp].ibi_en =3D false; ... } If an IBI arrives during this tiny window, wouldn't the handler drop the da= ta because is_registered is still false? Also, won't the blind overwrite of ibi_en to false corrupt the newly registered slave's state? [ ... ] > +static int p3h2x4x_tp_i2c_reg_slave(struct i2c_client *slave) > +{ [ ... ] > + guard(mutex)(&hub->etx_mutex); > + > + if (!hub->i3cdev || !hub->ibi_ready) > + return -EOPNOTSUPP; > + > + if (bus->tp_smbus_client) > + return -EBUSY; > + > + mutex_lock(&p3h2x4x->protected_reg_lock); > + > + /* Unlock access to protected registers */ > + ret =3D regmap_write(hub->regmap, P3H2X4X_DEV_REG_PROTECTION_CODE, > + P3H2X4X_REGISTERS_UNLOCK_CODE); > + if (ret) > + goto out_unlock_mutex; [ ... ] > +out_unlock_mutex: > + mutex_unlock(&p3h2x4x->protected_reg_lock); > + > + if (!ret) { > + bus->tp_smbus_client =3D slave; > + hub->hub_config.tp_config[bus->tp_port].ibi_en =3D true; > + } > + > + return ret; > +} [Severity: Medium] The cleanup subsystem guidelines suggest avoiding mixing goto-based error handling with scope-based guard() cleanup in the same function. Could this mix create confusing ownership semantics here? > + > +static int p3h2x4x_tp_i2c_unreg_slave(struct i2c_client *slave) > +{ [ ... ] > + guard(mutex)(&hub->etx_mutex); > + > + if (bus->tp_smbus_client !=3D slave) > + return -EINVAL; > + > + bus->tp_smbus_client =3D NULL; > + hub->hub_config.tp_config[bus->tp_port].ibi_en =3D false; > + > + mutex_lock(&p3h2x4x->protected_reg_lock); > + > + /* Unlock access to protected registers */ > + ret =3D regmap_write(hub->regmap, P3H2X4X_DEV_REG_PROTECTION_CODE, > + P3H2X4X_REGISTERS_UNLOCK_CODE); > + if (ret) > + goto out_unlock_mutex; [ ... ] > +out_unlock_mutex: > + mutex_unlock(&p3h2x4x->protected_reg_lock); > + return ret; > +} [Severity: Medium] Similar to the registration function above, does the use of both guard(mute= x) and goto out_unlock_mutex in this function violate the cleanup guidelines? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260714092053.2461= 482-1-lakshay.piplani@nxp.com?part=3D8