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 AA41EC43458 for ; Thu, 9 Jul 2026 06:58:03 +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=4wHogbQFM5BzPlRcfVJ7qxTZQkaF9zFKxGuUEkJUYtM=; b=Jz9PYVJATawSu6 uCzxMwmQV/1x4S4GaJ41rmO16vhErgdulId3aYg9mLNr67lLW1HU2gwb3o2PnOTilj9nIuUP/8KXU jUSk53PAq6oTO8kqrz42OTaP7XhAgBQD+QDhen730fRUX2Q+4oGdGM3FSYwKI9EXUod51JeGCMCMC COJ2nkpdDdscAoFhC3lBsgGi4ypZvneG1ZgXPVn/XdwubEZ7Jn8xIT+SP3wNYCAkdmJ3GpFWSdxaC lPNfJLFr7FP5Jy/5hwDeW1tOBiTLg+1QlmoH3iKuWvuU0SuGvjA6vkLuROQleChzkfz5Q5vZaszOa 5tSPGQq/e+/rOpIKOG0Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1whihv-00000001E0x-1av1; Thu, 09 Jul 2026 06:58:03 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1whiht-00000001E0o-1i3N for linux-i3c@lists.infradead.org; Thu, 09 Jul 2026 06:58:01 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id E093943D04; Thu, 9 Jul 2026 06:58:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68AC61F00A3A; Thu, 9 Jul 2026 06:58:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783580280; bh=cbaOBz46srE2heZPiINicbEw0+k5yBxXocBgZjx/iVQ=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=AUHqqvZFM142YTXejp4zRY/syaI7pZIsPqIszBVvLrv2o86RqZyIILk1s8DEG2Tn/ Uq5EpBw1oe+b1MtR+GDZOsB7YpqIlvZj5gMzyfrLkzBE3UhYpHb74upD2M7F5TlY+5 gqtpt5rWi5C3zy4xXxSciE0uNhd2iQ/Ng4Hf9ZAORHen54SbbPAHkMJeLXy4kNRlIP dhr9+ZsFr0soOayjzvKY38xPJemlqFZdntKkMFnKVxkR4f6N9rOvDSTl/eCh5Vj28z vE+T5z3KqDUzTZKIWNQW84HpIRYKZqa8qKIWji/w9OaMwlF/XaRWqnVjCedkkKkjlB MoLs0qq8BupfQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v10 2/2] i3c: master: Add driver for AMD AXI I3C master controller To: "Shubham Patil" Cc: "Alexandre Belloni" , Frank.Li@kernel.org, robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org, linux-i3c@lists.infradead.org In-Reply-To: <20260709064233.1451482-3-shubhamsanjay.patil@amd.com> References: <20260709064233.1451482-1-shubhamsanjay.patil@amd.com> <20260709064233.1451482-3-shubhamsanjay.patil@amd.com> Date: Thu, 09 Jul 2026 06:57:59 +0000 Message-Id: <20260709065800.68AC61F00A3A@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 MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0NyaXRpY2FsXSBVc2UtQWZ0ZXIt RnJlZSBkdWUgdG8gdXNpbmcgZGV2bV9remFsbG9jIGZvciBhIHN0cnVjdHVyZSBlbWJlZGRpbmcg YSByZWdpc3RlcmVkIGRldmljZS4KLSBbSGlnaF0gQ3VzdG9tIEZJRk8gYWNjZXNzb3JzIGluY29y cmVjdGx5IHVzZSBob3N0LWVuZGlhbiBtZW1vcnkgYWNjZXNzIHdpdGggQkUgSS9PIGZ1bmN0aW9u cywgY2F1c2luZyBkYXRhIGNvcnJ1cHRpb24gb24gTGl0dGxlLUVuZGlhbiBhcmNoaXRlY3R1cmVz LgotIFtNZWRpdW1dIENsb2NrIG1hdGggcm91bmRpbmcgZXJyb3JzIHZpb2xhdGUgSTNDL0kyQyB0 aW1pbmcgcmVxdWlyZW1lbnRzLgotLQoKLS0tIFBhdGNoIFsyXTogW1BBVENIIHYxMCAyLzJdIGkz YzogbWFzdGVyOiBBZGQgZHJpdmVyIGZvciBBTUQgQVhJIEkzQyBtYXN0ZXIgY29udHJvbGxlciAt LS0KY29tbWl0IDAwNDc0Y2NjM2NmYmIzMDViMTU1NTE2MzMzM2IzNDg0ZGNkN2YxNDAKQXV0aG9y OiBNYW5pa2FudGEgR3VudHVwYWxsaSA8bWFuaWthbnRhLmd1bnR1cGFsbGlAYW1kLmNvbT4KCmkz YzogbWFzdGVyOiBBZGQgZHJpdmVyIGZvciBBTUQgQVhJIEkzQyBtYXN0ZXIgY29udHJvbGxlcgoK VGhpcyBjb21taXQgaW50cm9kdWNlcyBhIG5ldyBkcml2ZXIgZm9yIHRoZSBBTUQgQVhJIEkzQyBt YXN0ZXIgY29udHJvbGxlci4KSXQgc3VwcG9ydHMgU3RhbmRhcmQgRGF0YSBSYXRlIChTRFIpIG1v ZGUsIER5bmFtaWMgQWRkcmVzcyBBc3NpZ25tZW50LCBwcml2YXRlCnRyYW5zZmVycywgYW5kIEND QyB0cmFuc2ZlcnMgaW4gYm90aCBicm9hZGNhc3QgYW5kIGRpcmVjdCBtb2RlcywgYXMgd2VsbCBh cwpmYWxsaW5nIGJhY2sgdG8gSTJDIG1vZGUuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2kzYy9t YXN0ZXIvYW1kLWkzYy1tYXN0ZXIuYyBiL2RyaXZlcnMvaTNjL21hc3Rlci9hbWQtaTNjLW1hc3Rl ci5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAwLi5lZjVhZDVh YmI3ODhjCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvaTNjL21hc3Rlci9hbWQtaTNj LW1hc3Rlci5jCj4gQEAgLTAsMCArMSwxMTI0IEBAClsgLi4uIF0KPiArc3RhdGljIGlubGluZSB2 b2lkIHhpM2NfcmVhZHNsX2JlKGNvbnN0IHZvaWQgX19pb21lbSAqYWRkciwgdm9pZCAqYnVmZmVy LAo+ICsJCQkJICB1bnNpZ25lZCBpbnQgY291bnQpCj4gK3sKPiArCXUzMiAqYnVmID0gYnVmZmVy Owo+ICsKPiArCXdoaWxlIChjb3VudC0tKQo+ICsJCXB1dF91bmFsaWduZWQoaW9yZWFkMzJiZShh ZGRyKSwgYnVmKyspOwo+ICt9CgpbU2V2ZXJpdHk6IEhpZ2hdCkNhbiB0aGVzZSBjdXN0b20gc3Ry ZWFtIGFjY2Vzc29ycyBjb3JydXB0IGRhdGEgb24gTGl0dGxlLUVuZGlhbgphcmNoaXRlY3R1cmVz PwoKSW4geGkzY19yZWFkc2xfYmUoKSwgaW9yZWFkMzJiZSgpIHJldHVybnMgYSBuYXRpdmUgMzIt Yml0IGludGVnZXIuIFdoZW4KcHV0X3VuYWxpZ25lZCgpIHdyaXRlcyB0aGlzIGJhY2sgdG8gbWVt b3J5IG9uIGEgTGl0dGxlLUVuZGlhbiBzeXN0ZW0sIGl0CndyaXRlcyBpdCBpbiBMaXR0bGUtRW5k aWFuIG9yZGVyLCBlZmZlY3RpdmVseSByZXZlcnNpbmcgdGhlIGJ5dGUgc3RyZWFtIGZvcgpldmVy eSA0LWJ5dGUgY2h1bmsuCgpbIC4uLiBdCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB4aTNjX3JlYWRs X2ZpZm8oY29uc3Qgdm9pZCBfX2lvbWVtICphZGRyLCB2b2lkICpidWYsCj4gKwkJCQkgICBpbnQg bmJ5dGVzKQo+ICt7Cj4gKwl4aTNjX3JlYWRzbF9iZShhZGRyLCBidWYsIG5ieXRlcyAvIDQpOwo+ ICsJaWYgKG5ieXRlcyAmIDMpIHsKPiArCQl1MzIgdG1wOwo+ICsKPiArCQl4aTNjX3JlYWRzbF9i ZShhZGRyLCAmdG1wLCAxKTsKPiArCQltZW1jcHkoKHU4ICopYnVmICsgKG5ieXRlcyAmIH4zKSwg JnRtcCwgbmJ5dGVzICYgMyk7Cj4gKwl9Cj4gK30KCltTZXZlcml0eTogSGlnaF0KV2lsbCB0aGlz IHJlbWFpbmRlciBjb3B5IGxvZ2ljIGRpc2NhcmQgdGhlIHBheWxvYWQgb24gTGl0dGxlLUVuZGlh biBzeXN0ZW1zPwoKQmVjYXVzZSB0aGUgcmVtYWluZGVyIGlzIHJlYWQgaW50byBhIHN0YWNrIHZh cmlhYmxlICh0bXApLCB0aGUgbG93ZXN0IG1lbW9yeQphZGRyZXNzIG9mIHRoaXMgMzItYml0IGlu dGVnZXIgcmVjZWl2ZXMgdGhlIHplcm8tcGFkZGluZyBvbiBMaXR0bGUtRW5kaWFuCmFyY2hpdGVj dHVyZXMuIFRoZSBtZW1jcHkoKSB3aWxsIHRoZW4gY29weSB0aGlzIHplcm8tcGFkZGluZyBpbnRv IHRoZSBidWZmZXIKaW5zdGVhZCBvZiB0aGUgYWN0dWFsIHBheWxvYWQgYnl0ZXMuCgpbIC4uLiBd Cj4gK3N0YXRpYyBpbnQgeGkzY19jbGtfY2ZnKHN0cnVjdCB4aTNjX21hc3RlciAqbWFzdGVyLCB1 bnNpZ25lZCBsb25nIHNjbGh6LCB1OCBtb2RlKQo+ICt7Cj4gKwl1bnNpZ25lZCBsb25nIGNvcmVf cmF0ZSwgY29yZV9wZXJpb2RuczsKPiArCXUzMiB0Y2FzbWluLCB0c3VzdGFydCwgdHN1c3RvcCwg dGhkc3RhcnQ7Cj4gKwl1MzIgdGhpZ2gsIHRsb3csIHRob2xkOwo+ICsJdTMyIG9kdGhpZ2gsIG9k dGxvdzsKPiArCj4gKwljb3JlX3JhdGUgPSBjbGtfZ2V0X3JhdGUobWFzdGVyLT5wY2xrKTsKPiAr CWlmICghY29yZV9yYXRlKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCWlmICghc2NsaHop Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJY29yZV9wZXJpb2RucyA9IERJVl9ST1VORF9V UChOU0VDX1BFUl9TRUMsIGNvcmVfcmF0ZSk7Cj4gKwo+ICsJdGhpZ2ggPSBESVZfUk9VTkRfVVAo Y29yZV9yYXRlLCBzY2xoeikgPj4gMTsKPiArCXRsb3cgPSB0aGlnaDsKCltTZXZlcml0eTogTWVk aXVtXQpEb2VzIHRoaXMgY2xvY2sgY2FsY3VsYXRpb24gcmlzayB2aW9sYXRpbmcgbWluaW11bSBJ M0MvSTJDIHRpbWluZwpyZXF1aXJlbWVudHM/CgpUaGUgRElWX1JPVU5EX1VQIGZvciBjb3JlX3Bl cmlvZG5zIG92ZXJlc3RpbWF0ZXMgdGhlIHBlcmlvZC4gV2hlbiBjYWxjdWxhdGluZwp0Y2FzbWlu IGxhdGVyIGJ5IGRpdmlkaW5nIFhJM0NfVENBU01JTl9OUyBieSBjb3JlX3BlcmlvZG5zLCB0aGlz Cm92ZXJlc3RpbWF0ZWQgcGVyaW9kIGNvdWxkIHJlc3VsdCBpbiBmZXdlciBuYW5vc2Vjb25kcyB0 aGFuIHJlcXVpcmVkIGJ5IHRoZQpzcGVjaWZpY2F0aW9uLgoKQWRkaXRpb25hbGx5LCB0aGUgcmln aHQgc2hpZnQgYnkgMSBvbiB0aGUgRElWX1JPVU5EX1VQIG9mIGNvcmVfcmF0ZSBhbmQgc2NsaHoK ZGlzY2FyZHMgdGhlIHJlbWFpbmRlci4gSWYgdGhlIHF1b3RpZW50IGlzIG9kZCwgdGhpZ2ggYW5k IHRsb3cgd2lsbCBsb3NlIGEKY3ljbGUsIHJlc3VsdGluZyBpbiBhbiBvdmVyYWxsIGJ1cyBmcmVx dWVuY3kgdGhhdCBleGNlZWRzIHRoZSByZXF1ZXN0ZWQgc2NsaHoKbGltaXQuCgpbIC4uLiBdCj4g K3N0YXRpYyBpbnQgeGkzY19tYXN0ZXJfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKPiArewo+ICsJc3RydWN0IHhpM2NfbWFzdGVyICptYXN0ZXI7Cj4gKwlpbnQgcmV0Owo+ICsK PiArCW1hc3RlciA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBzaXplb2YoKm1hc3RlciksIEdG UF9LRVJORUwpOwoKW1NldmVyaXR5OiBDcml0aWNhbF0KSXMgaXQgc2FmZSB0byB1c2UgZGV2bV9r emFsbG9jIGZvciB0aGUgbWFzdGVyIHN0cnVjdHVyZSBoZXJlPwoKVGhlIG1hc3RlciBzdHJ1Y3R1 cmUgZW1iZWRzIHN0cnVjdCBpM2NfbWFzdGVyX2NvbnRyb2xsZXIsIHdoaWNoIGNvbnRhaW5zIGEK c3RydWN0IGRldmljZSByZWdpc3RlcmVkIHdpdGggdGhlIGRyaXZlciBjb3JlLiBEdXJpbmcgZHJp dmVyIHVuYmluZCwgdGhlCmRldnJlcyBjb3JlIHdpbGwgZnJlZSB0aGlzIG1lbW9yeSBpbW1lZGlh dGVseSBhZnRlciByZW1vdmUoKSByZXR1cm5zLgoKSG93ZXZlciwgdXNlcnNwYWNlIG9yIGFub3Ro ZXIgc3Vic3lzdGVtIG1pZ2h0IHN0aWxsIGhvbGQgYSByZWZlcmVuY2UgdG8gdGhlCmVtYmVkZGVk IGRldmljZSAoZm9yIGV4YW1wbGUsIHRocm91Z2ggYW4gb3BlbiBzeXNmcyBmaWxlKS4gSWYgdGhh dCBoYXBwZW5zLAppdCBjb3VsZCB0cmlnZ2VyIGEgdXNlLWFmdGVyLWZyZWUgd2hlbiB0aGUgZmlu YWwgcmVmZXJlbmNlIGlzIGV2ZW50dWFsbHkKZHJvcHBlZC4KCi0tIApTYXNoaWtvIEFJIHJldmll dyDCtyBodHRwczovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAyNjA3MDkwNjQyMzMuMTQ1MTQ4 Mi0xLXNodWJoYW1zYW5qYXkucGF0aWxAYW1kLmNvbT9wYXJ0PTIKCi0tIApsaW51eC1pM2MgbWFp bGluZyBsaXN0CmxpbnV4LWkzY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtaTNjCg== 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 356E73DDDAF for ; Thu, 9 Jul 2026 06:58:00 +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=1783580282; cv=none; b=aBCUUGjY2BhDHqOfLB52MZIhLmbFOiaLEVdR5b9T1+ogSoH78z0zRoJDVDBhPnuUaVlhlTUmGv8TQ/Pu1DaNCDNSd6qN9ulshkl0mslxHCxmLFAV++0HSsFOdGDfmgGlETsZC8F5laKHC9XgmsZV3CsUI+wtwv047jGU/lFhvpU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783580282; c=relaxed/simple; bh=F4jkBYDEmQhTJEhA4rY1z/0d2c02wkDCLW3QSDHLl04=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=uen57pLkzCBLIE8UTqhAX6/QNbPpLzwoExbVBL6evEfArBV2mbRcxzVOZP775hNceoa7jq1Qy9HIPiJaVF+RmE3+tOBQUdZ5J2c/TCEw9L9RrPn6Azc8qCYRJe1KyCuUN6cNNERXwyKabo9yEbpeLlkI3JQvzpD+28TMqo0vjWc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AUHqqvZF; 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="AUHqqvZF" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68AC61F00A3A; Thu, 9 Jul 2026 06:58:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783580280; bh=cbaOBz46srE2heZPiINicbEw0+k5yBxXocBgZjx/iVQ=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=AUHqqvZFM142YTXejp4zRY/syaI7pZIsPqIszBVvLrv2o86RqZyIILk1s8DEG2Tn/ Uq5EpBw1oe+b1MtR+GDZOsB7YpqIlvZj5gMzyfrLkzBE3UhYpHb74upD2M7F5TlY+5 gqtpt5rWi5C3zy4xXxSciE0uNhd2iQ/Ng4Hf9ZAORHen54SbbPAHkMJeLXy4kNRlIP dhr9+ZsFr0soOayjzvKY38xPJemlqFZdntKkMFnKVxkR4f6N9rOvDSTl/eCh5Vj28z vE+T5z3KqDUzTZKIWNQW84HpIRYKZqa8qKIWji/w9OaMwlF/XaRWqnVjCedkkKkjlB MoLs0qq8BupfQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v10 2/2] i3c: master: Add driver for AMD AXI I3C master controller Reply-To: sashiko-reviews@lists.linux.dev To: "Shubham Patil" Cc: "Alexandre Belloni" , Frank.Li@kernel.org, robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org, linux-i3c@lists.infradead.org In-Reply-To: <20260709064233.1451482-3-shubhamsanjay.patil@amd.com> References: <20260709064233.1451482-1-shubhamsanjay.patil@amd.com> <20260709064233.1451482-3-shubhamsanjay.patil@amd.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Thu, 09 Jul 2026 06:57:59 +0000 Message-Id: <20260709065800.68AC61F00A3A@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: - [Critical] Use-After-Free due to using devm_kzalloc for a structure embed= ding a registered device. - [High] Custom FIFO accessors incorrectly use host-endian memory access wi= th BE I/O functions, causing data corruption on Little-Endian architectures. - [Medium] Clock math rounding errors violate I3C/I2C timing requirements. -- --- Patch [2]: [PATCH v10 2/2] i3c: master: Add driver for AMD AXI I3C mast= er controller --- commit 00474ccc3cfbb305b1555163333b3484dcd7f140 Author: Manikanta Guntupalli i3c: master: Add driver for AMD AXI I3C master controller This commit introduces a new driver for the AMD AXI I3C master controller. It supports Standard Data Rate (SDR) mode, Dynamic Address Assignment, priv= ate transfers, and CCC transfers in both broadcast and direct modes, as well as falling back to I2C mode. > diff --git a/drivers/i3c/master/amd-i3c-master.c b/drivers/i3c/master/amd= -i3c-master.c > new file mode 100644 > index 0000000000000..ef5ad5abb788c > --- /dev/null > +++ b/drivers/i3c/master/amd-i3c-master.c > @@ -0,0 +1,1124 @@ [ ... ] > +static inline void xi3c_readsl_be(const void __iomem *addr, void *buffer, > + unsigned int count) > +{ > + u32 *buf =3D buffer; > + > + while (count--) > + put_unaligned(ioread32be(addr), buf++); > +} [Severity: High] Can these custom stream accessors corrupt data on Little-Endian architectures? In xi3c_readsl_be(), ioread32be() returns a native 32-bit integer. When put_unaligned() writes this back to memory on a Little-Endian system, it writes it in Little-Endian order, effectively reversing the byte stream for every 4-byte chunk. [ ... ] > +static inline void xi3c_readl_fifo(const void __iomem *addr, void *buf, > + int nbytes) > +{ > + xi3c_readsl_be(addr, buf, nbytes / 4); > + if (nbytes & 3) { > + u32 tmp; > + > + xi3c_readsl_be(addr, &tmp, 1); > + memcpy((u8 *)buf + (nbytes & ~3), &tmp, nbytes & 3); > + } > +} [Severity: High] Will this remainder copy logic discard the payload on Little-Endian systems? Because the remainder is read into a stack variable (tmp), the lowest memory address of this 32-bit integer receives the zero-padding on Little-Endian architectures. The memcpy() will then copy this zero-padding into the buffer instead of the actual payload bytes. [ ... ] > +static int xi3c_clk_cfg(struct xi3c_master *master, unsigned long sclhz,= u8 mode) > +{ > + unsigned long core_rate, core_periodns; > + u32 tcasmin, tsustart, tsustop, thdstart; > + u32 thigh, tlow, thold; > + u32 odthigh, odtlow; > + > + core_rate =3D clk_get_rate(master->pclk); > + if (!core_rate) > + return -EINVAL; > + > + if (!sclhz) > + return -EINVAL; > + > + core_periodns =3D DIV_ROUND_UP(NSEC_PER_SEC, core_rate); > + > + thigh =3D DIV_ROUND_UP(core_rate, sclhz) >> 1; > + tlow =3D thigh; [Severity: Medium] Does this clock calculation risk violating minimum I3C/I2C timing requirements? The DIV_ROUND_UP for core_periodns overestimates the period. When calculati= ng tcasmin later by dividing XI3C_TCASMIN_NS by core_periodns, this overestimated period could result in fewer nanoseconds than required by the specification. Additionally, the right shift by 1 on the DIV_ROUND_UP of core_rate and scl= hz discards the remainder. If the quotient is odd, thigh and tlow will lose a cycle, resulting in an overall bus frequency that exceeds the requested scl= hz limit. [ ... ] > +static int xi3c_master_probe(struct platform_device *pdev) > +{ > + struct xi3c_master *master; > + int ret; > + > + master =3D devm_kzalloc(&pdev->dev, sizeof(*master), GFP_KERNEL); [Severity: Critical] Is it safe to use devm_kzalloc for the master structure here? The master structure embeds struct i3c_master_controller, which contains a struct device registered with the driver core. During driver unbind, the devres core will free this memory immediately after remove() returns. However, userspace or another subsystem might still hold a reference to the embedded device (for example, through an open sysfs file). If that happens, it could trigger a use-after-free when the final reference is eventually dropped. --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260709064233.1451= 482-1-shubhamsanjay.patil@amd.com?part=3D2