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 E8056CDB47C for ; Wed, 24 Jun 2026 10:43:28 +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=TBvpZBLqdQKtPl5jhubc3Kev5n/s3KD57tNl6AcXH/g=; b=Ccax/zpfzJRX9f teDsH+cj6ZG9amCuQBrLop3J25YNF31vwU6wBQcLmstovAhOO8tKWhLCWDTUEhYk7HGGX2qjc/+da gmsDItNvzdfKYLXEJsamXOXan9Z2LiOBWwyPkxozm9RGTux+EjuIPG2vzcsE1CoYBvT7GaBm5lM1N 1KQxadE16GNGqFk/JJYwkmRg+yf/F9fhuHLn2JXQX8T7bwoK8FPlQb9neZwXJ24GGWcpHFeekuHkL KAn8n2aoBz5HTO7H5oWJhwNguZ6s8wDwSrMaG7ILClW0+D6hoGS3unguNBhLxQ/84b8S3Z5eo6EdQ BgphmHU4VrpDq7gcZOlw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wcL4q-00000007cev-2c8X; Wed, 24 Jun 2026 10:43:28 +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 1wcL4p-00000007ceo-2DJH for linux-i3c@lists.infradead.org; Wed, 24 Jun 2026 10:43:27 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 1F45241925; Wed, 24 Jun 2026 10:43:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE6C81F000E9; Wed, 24 Jun 2026 10:43:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1782297807; bh=vlkyL9YUBjkcdSXrl9jywchJVIm+LGiHnaO2QYGM5+0=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=PkNePZG405hIu/GcJ4qnKaeiADZ1Q0s0KWUg60rkx6mILhpihDl5l9Sz6t1ADmZuY Sh08KfvsMG85Y9PuK+NuOdq1Yul6IVyhojD1fslEdGJaVYH9LguhZLzNo6sM0ScTbP kXZ3hdyqGp4o73J2VsJnh8tr4utcf19RsZs/Pqv3s2dZUblwb0eMQs1eawCiyiWDOP AKTQvhEpR1mezTuNkiBvDQxs/pqhflunUa1wo8NMKNK9l9kjk5XV7fppPQR6+uOint DGJ6sTm1ak5qHDnTFZCv2WiTtpP8ZZVOmDBiEHs/1t5ZN/Lt/s1Y7jPgVrBo8qwllw lLa/kJFE8LkyQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v5 04/12] i3c: master: Add support for devices using SETAASA To: "Akhil R" Cc: linux-hwmon@vger.kernel.org, devicetree@vger.kernel.org, robh@kernel.org, linux-i3c@lists.infradead.org, conor+dt@kernel.org, Frank.Li@kernel.org In-Reply-To: <20260624102153.1770072-5-akhilrajeev@nvidia.com> References: <20260624102153.1770072-1-akhilrajeev@nvidia.com> <20260624102153.1770072-5-akhilrajeev@nvidia.com> Date: Wed, 24 Jun 2026 10:43:26 +0000 Message-Id: <20260624104326.AE6C81F000E9@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 MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpOZXcgaXNzdWVzOgotIFtIaWdoXSBT RVRBQVNBIGJyb2FkY2FzdCBpcyBzZW50IGJlZm9yZSBTRVREQVNBIGRpcmVjdCBhc3NpZ25tZW50 cywgd2hpY2ggYnJlYWtzIGluaXRpYWxpemF0aW9uIGZvciBkZXZpY2VzIHRoYXQgbmF0aXZlbHkg c3VwcG9ydCBTRVRBQVNBIGJ1dCBhcmUgY29uZmlndXJlZCBmb3IgU0VUREFTQS4KClByZS1leGlz dGluZyBpc3N1ZXM6Ci0gW0hpZ2hdIE1pc3NpbmcgUlNUREFBIG9uIGVycm9yIHBhdGggZHVlIHRv IHByZW1hdHVyZSBhZGRyZXNzIHNsb3QgY2xlYXJpbmcgbGVhZHMgdG8gYnVzIGFkZHJlc3MgY29s bGlzaW9uLgotIFtIaWdoXSBEb3VibGUgZnJlZSBhbmQgVXNlLUFmdGVyLUZyZWUgb2YgYGRlc2Mt PmRldmAgd2hlbiBgZGV2aWNlX3JlZ2lzdGVyKClgIGZhaWxzLgotLQoKY29tbWl0IDA4YjdjZDAw YjM2ZmNhYTRmZTYyOTJhZjI3ZTI3M2RmNmRjNjRiNWEKQXV0aG9yOiBBa2hpbCBSIDxha2hpbHJh amVldkBudmlkaWEuY29tPgoKaTNjOiBtYXN0ZXI6IEFkZCBzdXBwb3J0IGZvciBkZXZpY2VzIHVz aW5nIFNFVEFBU0EKCkFkZCBzdXBwb3J0IGZvciBkZXZpY2VzIHVzaW5nIFNFVEFBU0EgYXR0YWNo ZWQgdG8gRERSNSBtZW1vcnkgbW9kdWxlcyB0aGF0CmRvIG5vdCBzdXBwb3J0IEVOVERBQS4gRGV2 aWNlcyB1c2luZyBTRVRBQVNBIGFzc2lnbiB0aGVpciBwcmUtZGVmaW5lZCBzdGF0aWMKYWRkcmVz c2VzIGFzIGR5bmFtaWMgYWRkcmVzc2VzIGR1cmluZyBEQUEuCgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2kzYy9tYXN0ZXIuYyBiL2RyaXZlcnMvaTNjL21hc3Rlci5jCj4gaW5kZXggNGJiYTJiYWQ4 OTdhNy4uM2RlYWU4Y2RhZTUyNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2kzYy9tYXN0ZXIuYwo+ ICsrKyBiL2RyaXZlcnMvaTNjL21hc3Rlci5jCgpbIC4uLiBdCgo+IEBAIC0xODc4LDYgKzE5MjQs MjIgQEAgc3RhdGljIGludCBpM2NfbWFzdGVyX2Vhcmx5X2kzY19kZXZfYWRkKHN0cnVjdCBpM2Nf bWFzdGVyX2NvbnRyb2xsZXIgKm1hc3RlciwKPiAgCWlmIChyZXQpCj4gIAkJZ290byBlcnJfZnJl ZV9kZXY7Cj4gIAo+ICsJLyoKPiArCSAqIEZvciBkZXZpY2VzIHVzaW5nIFNFVEFBU0EgaW5zdGVh ZCBvZiBFTlREQUEsIHRoZSBhZGRyZXNzIGlzIHN0YXRpY2FsbHkKPiArCSAqIGFzc2lnbmVkLiBV cGRhdGUgdGhlIGR5bmFtaWMgYWRkcmVzcyB0byB0aGUgcHJvdmlkZWQgc3RhdGljIGFkZHJlc3Mu Cj4gKwkgKiBSZWF0dGFjaCB0aGUgSTNDIGRldmljZSBhZnRlciB1cGRhdGluZyB0aGUgZHluYW1p YyBhZGRyZXNzIHdpdGggdGhlIHNhbWUKPiArCSAqIHN0YXRpYyBhZGRyZXNzLiBJdCBpcyBub3Qg bWFuZGF0b3J5IGZvciBzdWNoIGRldmljZXMgdG8gaW1wbGVtZW50IENDQwo+ICsJICogY29tbWFu ZHMgbGlrZSBHRVRQSUQsIEdFVERDUiBldGMuIEhlbmNlLCB3ZSBjYW4gcmV0dXJuIGFmdGVyIHJl YXR0YWNoaW5nLgo+ICsJICovCj4gKwlpZiAoaTNjZGV2LT5ib2FyZGluZm8tPnN0YXRpY19hZGRy X21ldGhvZCAmIEkzQ19BRERSX01FVEhPRF9TRVRBQVNBKSB7Cj4gKwkJaTNjZGV2LT5pbmZvLmR5 bl9hZGRyID0gaTNjZGV2LT5ib2FyZGluZm8tPnN0YXRpY19hZGRyOwo+ICsJCXJldCA9IGkzY19t YXN0ZXJfcmVhdHRhY2hfaTNjX2Rldl9sb2NrZWQoaTNjZGV2LCAwKTsKPiArCQlpZiAocmV0KQo+ ICsJCQlnb3RvIGVycl9yc3RkYWE7Cj4gKwo+ICsJCXJldHVybiAwOwo+ICsJfQo+ICsKCltTZXZl cml0eTogSGlnaF0KVGhpcyBpcyBhIHByZS1leGlzdGluZyBpc3N1ZSwgYnV0IG1pc3NpbmcgUlNU REFBIG9uIHRoZSBlcnJvciBwYXRoIGR1ZSB0bwpwcmVtYXR1cmUgYWRkcmVzcyBzbG90IGNsZWFy aW5nIGNhbiBsZWFkIHRvIGJ1cyBhZGRyZXNzIGNvbGxpc2lvbnMuCgpJbiBpM2NfbWFzdGVyX2Vh cmx5X2kzY19kZXZfYWRkKCksIHRoZSBkcml2ZXIgYXNzaWducyB0aGUgZHluYW1pYyBhZGRyZXNz CndpdGggU0VUREFTQSBhbmQgcmVhdHRhY2hlcyB0aGUgZGV2aWNlLiBJZiByZWF0dGFjaGluZyBm YWlscywgdGhlIGVycm9yCnBhdGggaW50ZXJuYWxseSBjYWxscyBpM2NfbWFzdGVyX3B1dF9pM2Nf YWRkcnMoKSwgd2hpY2ggY2xlYXJzIHRoZQppbml0X2R5bl9hZGRyIHNsb3Qgc3RhdHVzIGJhY2sg dG8gSTNDX0FERFJfU0xPVF9GUkVFLgoKV2hlbiB0aGUgY29kZSBqdW1wcyB0byBlcnJfcnN0ZGFh OgoKZXJyX3JzdGRhYToKCWkzY19tYXN0ZXJfcnN0ZGFhX2xvY2tlZChtYXN0ZXIsIGkzY2Rldi0+ Ym9hcmRpbmZvLT5pbml0X2R5bl9hZGRyKTsKCkl0IGNhbGxzIGkzY19tYXN0ZXJfcnN0ZGFhX2xv Y2tlZCgpIHRvIHJlc2V0IHRoZSBkZXZpY2UncyBkeW5hbWljIGFkZHJlc3MuCkhvd2V2ZXIsIGkz Y19tYXN0ZXJfcnN0ZGFhX2xvY2tlZCgpIHZlcmlmaWVzIHRoZSBzbG90IHN0YXR1czoKCmRyaXZl cnMvaTNjL21hc3Rlci5jOmkzY19tYXN0ZXJfcnN0ZGFhX2xvY2tlZCgpIHsKICAgIC4uLgoJaWYg KGFkZHIgIT0gSTNDX0JST0FEQ0FTVF9BRERSICYmIGFkZHJzdGF0ICE9IEkzQ19BRERSX1NMT1Rf STNDX0RFVikKCQlyZXR1cm4gLUVJTlZBTDsKICAgIC4uLgp9CgpCZWNhdXNlIHRoZSBzbG90IHdh cyBqdXN0IGZyZWVkLCB0aGUgZnVuY3Rpb24gc2lsZW50bHkgcmV0dXJucyB3aXRob3V0CnNlbmRp bmcgdGhlIFJTVERBQSBDQ0MgY29tbWFuZC4KCldpbGwgdGhpcyBhbGxvdyB0aGUgaGFyZHdhcmUg ZGV2aWNlIHRvIGNvbnRpbnVlIHNxdWF0dGluZyBvbiB0aGUgZHluYW1pYwphZGRyZXNzIHdoaWxl IHRoZSBtYXN0ZXIgY29uc2lkZXJzIHRoZSBzbG90IGZyZWUsIGNhdXNpbmcgY29sbGlzaW9ucyBs YXRlcj8KCj4gIAlyZXQgPSBpM2NfbWFzdGVyX3NldGRhc2FfbG9ja2VkKG1hc3RlciwgaTNjZGV2 LT5pbmZvLnN0YXRpY19hZGRyLAo+ICAJCQkJCWkzY2Rldi0+Ym9hcmRpbmZvLT5pbml0X2R5bl9h ZGRyKTsKClsgLi4uIF0KCj4gQEAgLTIyMzIsNiArMjI5NCwxMiBAQCBzdGF0aWMgaW50IGkzY19t YXN0ZXJfYnVzX2luaXQoc3RydWN0IGkzY19tYXN0ZXJfY29udHJvbGxlciAqbWFzdGVyKQo+ICAJ aWYgKHJldCkKPiAgCQlnb3RvIGVycl9idXNfY2xlYW51cDsKPiAgCj4gKwlpZiAobWFzdGVyLT5h ZGRyX21ldGhvZCAmIEkzQ19BRERSX01FVEhPRF9TRVRBQVNBKSB7Cj4gKwkJcmV0ID0gaTNjX21h c3Rlcl9zZXRhYXNhX2xvY2tlZChtYXN0ZXIpOwo+ICsJCWlmIChyZXQpCj4gKwkJCWdvdG8gZXJy X2J1c19jbGVhbnVwOwo+ICsJfQo+ICsKCltTZXZlcml0eTogSGlnaF0KSXMgaXQgcG9zc2libGUg dGhhdCBzZW5kaW5nIHRoZSBTRVRBQVNBIGJyb2FkY2FzdCBiZWZvcmUgZGlyZWN0IFNFVERBU0EK YXNzaWdubWVudHMgYnJlYWtzIGluaXRpYWxpemF0aW9uIGZvciBkZXZpY2VzIHRoYXQgbmF0aXZl bHkgc3VwcG9ydCBTRVRBQVNBCmJ1dCBhcmUgY29uZmlndXJlZCBmb3IgU0VUREFTQT8KCkFjY29y ZGluZyB0byB0aGUgSTNDIHNwZWNpZmljYXRpb24sIGFueSBkZXZpY2Ugb24gdGhlIGJ1cyBuYXRp dmVseSBzdXBwb3J0aW5nClNFVEFBU0Egd2lsbCByZXNwb25kIHRvIHRoaXMgYnJvYWRjYXN0IGJ5 IGFkb3B0aW5nIGl0cyBzdGF0aWMgYWRkcmVzcyBhcyBpdHMKZHluYW1pYyBhZGRyZXNzLiAKCkFm dGVyIHRoaXMgYnJvYWRjYXN0LCB0aGUgZHJpdmVyIGl0ZXJhdGVzIHRocm91Z2ggZGV2aWNlcyBh bmQgYXR0ZW1wdHMgdG8KYXNzaWduIGN1c3RvbSBkeW5hbWljIGFkZHJlc3NlcyB2aWEgZGlyZWN0 IFNFVERBU0EgY29tbWFuZHM6Cgpkcml2ZXJzL2kzYy9tYXN0ZXIuYzppM2NfbWFzdGVyX2Vhcmx5 X2kzY19kZXZfYWRkKCkgewogICAgLi4uCglyZXQgPSBpM2NfbWFzdGVyX3NldGRhc2FfbG9ja2Vk KG1hc3RlciwgaTNjZGV2LT5pbmZvLnN0YXRpY19hZGRyLAoJCQkJCWkzY2Rldi0+Ym9hcmRpbmZv LT5pbml0X2R5bl9hZGRyKTsKICAgIC4uLgp9CgpTaW5jZSB0aGUgdGFyZ2V0IGRldmljZSBhbHJl YWR5IGFkb3B0ZWQgaXRzIGR5bmFtaWMgYWRkcmVzcyBkdXJpbmcgdGhlClNFVEFBU0EgYnJvYWRj YXN0LCBpdCBpcyBubyBsb25nZXIgaW4gdGhlIHVuYXNzaWduZWQgc3RhdGUgYW5kIHdpbGwgTkFD Swp0aGUgc3Vic2VxdWVudCBTRVREQVNBIGNvbW1hbmQuCgpDb3VsZCB0aGlzIGNhdXNlIGRldmlj ZSBpbml0aWFsaXphdGlvbiB0byBhYm9ydCBlbnRpcmVseT8KClNob3VsZCBTRVREQVNBIGRpcmVj dCBhc3NpZ25tZW50cyBiZSBleGVjdXRlZCBiZWZvcmUgYnJvYWRjYXN0aW5nIFNFVEFBU0E/Cgo+ ICAJLyoKPiAgCSAqIFJlc2VydmUgaW5pdF9keW5fYWRkciBmaXJzdCwgYW5kIHRoZW4gdHJ5IHRv IHByZS1hc3NpZ24gZHluYW1pYwo+ICAJICogYWRkcmVzcyBhbmQgcmV0cmlldmUgZGV2aWNlIGlu Zm9ybWF0aW9uIGlmIG5lZWRlZC4KClsgLi4uIF0KCltTZXZlcml0eTogSGlnaF0KVGhpcyBpc24n dCBhIGJ1ZyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dCB0aGVyZSBpcyBhIHBvdGVudGlh bCBkb3VibGUKZnJlZSBhbmQgdXNlLWFmdGVyLWZyZWUgb2YgZGVzYy0+ZGV2IHdoZW4gZGV2aWNl X3JlZ2lzdGVyKCkgZmFpbHMuCgpJbiBpM2NfbWFzdGVyX3JlZ2lzdGVyX25ld19pM2NfZGV2cygp LCBpZiBkZXZpY2VfcmVnaXN0ZXIoKSBmYWlscywKcHV0X2RldmljZSgpIGlzIGNhbGxlZDoKCmRy aXZlcnMvaTNjL21hc3Rlci5jOmkzY19tYXN0ZXJfcmVnaXN0ZXJfbmV3X2kzY19kZXZzKCkgewog ICAgLi4uCglyZXQgPSBkZXZpY2VfcmVnaXN0ZXIoJmRlc2MtPmRldi0+ZGV2KTsKCWlmIChyZXQp IHsKCQlkZXZfZXJyKCZtYXN0ZXItPmRldiwgIkZhaWxlZCB0byBhZGQgSTNDIGRldmljZSAoZXJy ID0gJWQpXG4iLCByZXQpOwoJCXB1dF9kZXZpY2UoJmRlc2MtPmRldi0+ZGV2KTsKCX0KICAgIC4u Lgp9CgpUaGlzIGRyb3BzIHRoZSByZWZlcmVuY2UgY291bnQgdG8gMCBhbmQgdHJpZ2dlcnMgaTNj X2RldmljZV9yZWxlYXNlKCksIHdoaWNoCmZyZWVzIGRlc2MtPmRldiB2aWEga2ZyZWUoaTNjZGV2 KS4gSG93ZXZlciwgdGhlIHBvaW50ZXIgZGVzYy0+ZGV2IGlzIG5vdCBzZXQKdG8gTlVMTCBhbmQg cmVtYWlucyBkYW5nbGluZyBpbiB0aGUgbWFzdGVyLT5idXMuZGV2cy5pM2MgbGlzdC4KCkxhdGVy LCB3aGVuIHRoZSBtYXN0ZXIgbW9kdWxlIGlzIHVubG9hZGVkIG9yIHVucmVnaXN0ZXJlZCwgdGhl IGNsZWFudXAKaXRlcmF0ZXMgb3ZlciB0aGUgbGlzdDoKCmRyaXZlcnMvaTNjL21hc3Rlci5jOmkz Y19tYXN0ZXJfdW5yZWdpc3Rlcl9pM2NfZGV2cygpIHsKICAgIC4uLgoJCWlmICghaTNjZGV2LT5k ZXYpCgkJCWNvbnRpbnVlOwoKCQlpM2NkZXYtPmRldi0+ZGVzYyA9IE5VTEw7CgkJaWYgKGRldmlj ZV9pc19yZWdpc3RlcmVkKCZpM2NkZXYtPmRldi0+ZGV2KSkKCQkJZGV2aWNlX3VucmVnaXN0ZXIo JmkzY2Rldi0+ZGV2LT5kZXYpOwoJCWVsc2UKCQkJcHV0X2RldmljZSgmaTNjZGV2LT5kZXYtPmRl dik7CgkJaTNjZGV2LT5kZXYgPSBOVUxMOwogICAgLi4uCn0KCkJlY2F1c2UgaTNjZGV2LT5kZXYg aXMgYSBkYW5nbGluZyBwb2ludGVyLCB0aGUgY2hlY2sgcGFzc2VzLiBUaGlzIGxlYWRzIHRvCndy aXRpbmcgdG8gaTNjZGV2LT5kZXYtPmRlc2MgKHVzZS1hZnRlci1mcmVlKSBhbmQgY2FsbGluZyBw dXRfZGV2aWNlKCkgYWdhaW4KKGRvdWJsZSBmcmVlKS4KCkNvdWxkIHdlIHNldCBkZXNjLT5kZXYg dG8gTlVMTCBhZnRlciBwdXRfZGV2aWNlKCkgaW4gdGhlIHJlZ2lzdHJhdGlvbiBlcnJvcgpwYXRo PwoKLS0gClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNl dC8yMDI2MDYyNDEwMjE1My4xNzcwMDcyLTEtYWtoaWxyYWplZXZAbnZpZGlhLmNvbT9wYXJ0PTQK Ci0tIApsaW51eC1pM2MgbWFpbGluZyBsaXN0CmxpbnV4LWkzY0BsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtaTNjCg== 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 1C52E1A6834; Wed, 24 Jun 2026 10:43:27 +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=1782297808; cv=none; b=UQuiqLSiIAbwgyf6eEx7V2dmZ0DNE9fuvJmyW1OG3TY9PzVGvUKGAZ9TQTqR9FJnktjBX3rvgvdRrB/4vRkp6/4arnLYY5CA0oL/CFEm87Mc6DQE6g6lF29JLexW7k3JNvMoIjYIQUtG7A09ZqkJ32fDpLqsHFD6M1JwZx60+fU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782297808; c=relaxed/simple; bh=R4GWgXSDfZRFOYFLWL2qY2Qv4yLi4ug5cWD7kvfqY0c=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=WXHf3S3Jazw0MgSAWrx+kRCKBM8BkyhzOGrwUT9l5AHeZwsXPz5zMKLX0gcntkFCPjjIbO9s4CQ/I8PsPIYYilQyfVbu1aP5f4zBM3Huui/1DQRSflsiVAamhP0j2VGJd3M0kSdqrM7nPhAbF6Wra3ExbzSKqNMNuldK6BpTNbk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PkNePZG4; 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="PkNePZG4" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE6C81F000E9; Wed, 24 Jun 2026 10:43:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1782297807; bh=vlkyL9YUBjkcdSXrl9jywchJVIm+LGiHnaO2QYGM5+0=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=PkNePZG405hIu/GcJ4qnKaeiADZ1Q0s0KWUg60rkx6mILhpihDl5l9Sz6t1ADmZuY Sh08KfvsMG85Y9PuK+NuOdq1Yul6IVyhojD1fslEdGJaVYH9LguhZLzNo6sM0ScTbP kXZ3hdyqGp4o73J2VsJnh8tr4utcf19RsZs/Pqv3s2dZUblwb0eMQs1eawCiyiWDOP AKTQvhEpR1mezTuNkiBvDQxs/pqhflunUa1wo8NMKNK9l9kjk5XV7fppPQR6+uOint DGJ6sTm1ak5qHDnTFZCv2WiTtpP8ZZVOmDBiEHs/1t5ZN/Lt/s1Y7jPgVrBo8qwllw lLa/kJFE8LkyQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v5 04/12] i3c: master: Add support for devices using SETAASA Reply-To: sashiko-reviews@lists.linux.dev To: "Akhil R" Cc: linux-hwmon@vger.kernel.org, devicetree@vger.kernel.org, robh@kernel.org, linux-i3c@lists.infradead.org, conor+dt@kernel.org, Frank.Li@kernel.org In-Reply-To: <20260624102153.1770072-5-akhilrajeev@nvidia.com> References: <20260624102153.1770072-1-akhilrajeev@nvidia.com> <20260624102153.1770072-5-akhilrajeev@nvidia.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Wed, 24 Jun 2026 10:43:26 +0000 Message-Id: <20260624104326.AE6C81F000E9@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 3 potential issue(= s) to consider: New issues: - [High] SETAASA broadcast is sent before SETDASA direct assignments, which= breaks initialization for devices that natively support SETAASA but are co= nfigured for SETDASA. Pre-existing issues: - [High] Missing RSTDAA on error path due to premature address slot clearin= g leads to bus address collision. - [High] Double free and Use-After-Free of `desc->dev` when `device_registe= r()` fails. -- commit 08b7cd00b36fcaa4fe6292af27e273df6dc64b5a Author: Akhil R i3c: master: Add support for devices using SETAASA Add support for devices using SETAASA attached to DDR5 memory modules that do not support ENTDAA. Devices using SETAASA assign their pre-defined static addresses as dynamic addresses during DAA. > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c > index 4bba2bad897a7..3deae8cdae525 100644 > --- a/drivers/i3c/master.c > +++ b/drivers/i3c/master.c [ ... ] > @@ -1878,6 +1924,22 @@ static int i3c_master_early_i3c_dev_add(struct i3c= _master_controller *master, > if (ret) > goto err_free_dev; > =20 > + /* > + * For devices using SETAASA instead of ENTDAA, the address is statical= ly > + * assigned. Update the dynamic address to the provided static address. > + * Reattach the I3C device after updating the dynamic address with the = same > + * static address. It is not mandatory for such devices to implement CCC > + * commands like GETPID, GETDCR etc. Hence, we can return after reattac= hing. > + */ > + if (i3cdev->boardinfo->static_addr_method & I3C_ADDR_METHOD_SETAASA) { > + i3cdev->info.dyn_addr =3D i3cdev->boardinfo->static_addr; > + ret =3D i3c_master_reattach_i3c_dev_locked(i3cdev, 0); > + if (ret) > + goto err_rstdaa; > + > + return 0; > + } > + [Severity: High] This is a pre-existing issue, but missing RSTDAA on the error path due to premature address slot clearing can lead to bus address collisions. In i3c_master_early_i3c_dev_add(), the driver assigns the dynamic address with SETDASA and reattaches the device. If reattaching fails, the error path internally calls i3c_master_put_i3c_addrs(), which clears the init_dyn_addr slot status back to I3C_ADDR_SLOT_FREE. When the code jumps to err_rstdaa: err_rstdaa: i3c_master_rstdaa_locked(master, i3cdev->boardinfo->init_dyn_addr); It calls i3c_master_rstdaa_locked() to reset the device's dynamic address. However, i3c_master_rstdaa_locked() verifies the slot status: drivers/i3c/master.c:i3c_master_rstdaa_locked() { ... if (addr !=3D I3C_BROADCAST_ADDR && addrstat !=3D I3C_ADDR_SLOT_I3C_DEV) return -EINVAL; ... } Because the slot was just freed, the function silently returns without sending the RSTDAA CCC command. Will this allow the hardware device to continue squatting on the dynamic address while the master considers the slot free, causing collisions later? > ret =3D i3c_master_setdasa_locked(master, i3cdev->info.static_addr, > i3cdev->boardinfo->init_dyn_addr); [ ... ] > @@ -2232,6 +2294,12 @@ static int i3c_master_bus_init(struct i3c_master_c= ontroller *master) > if (ret) > goto err_bus_cleanup; > =20 > + if (master->addr_method & I3C_ADDR_METHOD_SETAASA) { > + ret =3D i3c_master_setaasa_locked(master); > + if (ret) > + goto err_bus_cleanup; > + } > + [Severity: High] Is it possible that sending the SETAASA broadcast before direct SETDASA assignments breaks initialization for devices that natively support SETAASA but are configured for SETDASA? According to the I3C specification, any device on the bus natively supporti= ng SETAASA will respond to this broadcast by adopting its static address as its dynamic address.=20 After this broadcast, the driver iterates through devices and attempts to assign custom dynamic addresses via direct SETDASA commands: drivers/i3c/master.c:i3c_master_early_i3c_dev_add() { ... ret =3D i3c_master_setdasa_locked(master, i3cdev->info.static_addr, i3cdev->boardinfo->init_dyn_addr); ... } Since the target device already adopted its dynamic address during the SETAASA broadcast, it is no longer in the unassigned state and will NACK the subsequent SETDASA command. Could this cause device initialization to abort entirely? Should SETDASA direct assignments be executed before broadcasting SETAASA? > /* > * Reserve init_dyn_addr first, and then try to pre-assign dynamic > * address and retrieve device information if needed. [ ... ] [Severity: High] This isn't a bug introduced by this patch, but there is a potential double free and use-after-free of desc->dev when device_register() fails. In i3c_master_register_new_i3c_devs(), if device_register() fails, put_device() is called: drivers/i3c/master.c:i3c_master_register_new_i3c_devs() { ... ret =3D device_register(&desc->dev->dev); if (ret) { dev_err(&master->dev, "Failed to add I3C device (err =3D %d)\n", ret); put_device(&desc->dev->dev); } ... } This drops the reference count to 0 and triggers i3c_device_release(), which frees desc->dev via kfree(i3cdev). However, the pointer desc->dev is not set to NULL and remains dangling in the master->bus.devs.i3c list. Later, when the master module is unloaded or unregistered, the cleanup iterates over the list: drivers/i3c/master.c:i3c_master_unregister_i3c_devs() { ... if (!i3cdev->dev) continue; i3cdev->dev->desc =3D NULL; if (device_is_registered(&i3cdev->dev->dev)) device_unregister(&i3cdev->dev->dev); else put_device(&i3cdev->dev->dev); i3cdev->dev =3D NULL; ... } Because i3cdev->dev is a dangling pointer, the check passes. This leads to writing to i3cdev->dev->desc (use-after-free) and calling put_device() again (double free). Could we set desc->dev to NULL after put_device() in the registration error path? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260624102153.1770= 072-1-akhilrajeev@nvidia.com?part=3D4