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 93FB5CDB47C for ; Thu, 25 Jun 2026 02:59: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=IzGAmjr21BmE0ieFqjuXTFfJlRP9a5qlEz9HRe3fQFM=; b=Selyjdvei04S7s atrnAMxcIfjKbyxvSIk+o1iV7ewekSDsoquJTg9hfAfAbh5n8Bta5CM3UR+gFG6zKAscfYZHYdiqg 9xftC/qbn9PuaPrdcT7FMvF/CbGsmzAzfKM+hHRfDJ7hyCrq4Mwvbhv3xpUhB7FqAAM412P9MXaxA hQ3vpVeR3OvhlpNd2VG/7VN9jJDSC0sLjtqXySW21e9lqqh2SFzdcOLJFZ/Rg47/hIDH/GUeD0jUd 0he/+yA+w7IEPTLTXQI3x93aIJ04DGLdM9PB4FQu7JCPXapJ5Azq77bXqQ0leLE9MZOLXliOtLWgr F9HW87nlS0nTfCELT7ug==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wcaJM-00000008b8k-1WHB; Thu, 25 Jun 2026 02:59:28 +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 1wcaJL-00000008b8e-0ql7 for linux-phy@lists.infradead.org; Thu, 25 Jun 2026 02:59:27 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 9EBE64447D; Thu, 25 Jun 2026 02:59:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3A4F81F000E9; Thu, 25 Jun 2026 02:59:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1782356366; bh=avXWWg+j1E3+3kJoRvQbitlmoOR8W82Q+/SqLJ8QQUc=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=NdKktpW9lGsiJCdkkQZUFknd7olJ+EDbsu/vtu7sMJAkNPmtH6NztF4l9qzRWqdpO DLw5JOaG+jN07oCJ7OQF0rdcyijQmaMOGzoQYIS0dve8axZFmNVW/inZZNHHZ+9beL j+Br7TBqTaw4LxDmjukAilsSxnH5Gz5TpbHy7TqV1aKQk+ea3ZpPF62KC7ZboF4uvp ru+8N2CGhyMxqJBO3txvZSZ6N7s9KeYtVzSDmtFJkKHulXGc4u5j78IXauCik6MZtN KKIaodBR4qcwzqHtEVXcPq6KI1ZlOJabx9RdB7X/Xctl53magpaMpDALyVhKQZQhdA qjDKJfhtGqSlg== From: sashiko-bot@kernel.org Subject: Re: [PATCH v2 4/4] phy: nuvoton: phy-ma35d1-usb2: extend to dual-port with OTG support To: "Joey Lu" Cc: neil.armstrong@linaro.org, robh@kernel.org, conor+dt@kernel.org, olteanv@gmail.com, devicetree@vger.kernel.org, vkoul@kernel.org, linux-phy@lists.infradead.org In-Reply-To: <20260625023958.569299-5-a0987203069@gmail.com> References: <20260625023958.569299-1-a0987203069@gmail.com> <20260625023958.569299-5-a0987203069@gmail.com> Date: Thu, 25 Jun 2026 02:59:25 +0000 Message-Id: <20260625025926.3A4F81F000E9@smtp.kernel.org> X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list 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-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFRoZSBjdXN0b20gYG1h MzVfdXNiX3BoeV94bGF0ZWAgY2FsbGJhY2sgYWNjZXNzZXMgYGFyZ3MtPmFyZ3NbMF1gIHdpdGhv dXQgdmVyaWZ5aW5nIGBhcmdzLT5hcmdzX2NvdW50YCwgbGVhZGluZyB0byBhIHBvdGVudGlhbCBy ZWFkIG9mIHVuaW5pdGlhbGl6ZWQgc3RhY2sgbWVtb3J5LgotIFtIaWdoXSBUaGUgZHJpdmVyIGJy ZWFrcyBEZXZpY2UgVHJlZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGJ5IHVuY29uZGl0aW9uYWxs eSByZWx5aW5nIG9uIHRoZSBwYXJlbnQncyBgb2Zfbm9kZWAgZm9yIHRoZSBzeXNjb24gcmVnbWFw LCByZW1vdmluZyB0aGUgbGVnYWN5ICdudXZvdG9uLHN5cycgcGhhbmRsZSBmYWxsYmFjay4KLSBb SGlnaF0gVGhlIGRyaXZlciBmYWlscyB0byBleHBsaWNpdGx5IGNsZWFyIHRoZSAnTUlTQ0ZDUjBf VUhPVlJDVVJIJyBiaXQgaWYgdGhlICdudXZvdG9uLG9jLWFjdGl2ZS1oaWdoJyBwcm9wZXJ0eSBp cyBhYnNlbnQsIGxlYWRpbmcgdG8gcGVyc2lzdGVudCBpbmNvcnJlY3QgaGFyZHdhcmUgc3RhdGUg YWNyb3NzIHNvZnQgcmVib290cy4KLSBbSGlnaF0gVGhlIGRyaXZlciBpbmNvcnJlY3RseSBza2lw cyBQSFkgY2xvY2sgc3RhYmlsaXphdGlvbiBjaGVja3MgaWYgdGhlIGBTVVNQRU5EYCBiaXQgaXMg YWxyZWFkeSBzZXQsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gaGFyZHdhcmUgaGFuZ3MuCi0gW01l ZGl1bV0gVGhlIHZhcmlhYmxlICd2YWwnIGluIGBtYTM1X3JvbGVfc3dfZ2V0YCBpcyB1c2VkIHVu aW5pdGlhbGl6ZWQgaWYgdGhlIGByZWdtYXBfcmVhZGAgY2FsbCBmYWlscy4KLS0KCmNvbW1pdCBm ZjNmNmQ4M2NmYjk1ZjQ4YTY0ZDRjNTMzNTQ5YTc0NjVhNDFkMTUwCkF1dGhvcjogSm9leSBMdSA8 YTA5ODcyMDMwNjlAZ21haWwuY29tPgoKcGh5OiBudXZvdG9uOiBwaHktbWEzNWQxLXVzYjI6IGV4 dGVuZCB0byBkdWFsLXBvcnQgd2l0aCBPVEcgc3VwcG9ydAoKVGhpcyBjb21taXQgZXh0ZW5kcyB0 aGUgZHJpdmVyIHRvIHN1cHBvcnQgYm90aCBQSFkgcG9ydHMgYW5kIGludGVncmF0ZXMgT1RHCnJv bGUgc3dpdGNoaW5nLiBJdCBpbnRyb2R1Y2VzIGEgY3VzdG9tIHhsYXRlIGZ1bmN0aW9uLCB1bmlm aWVzIHRoZSBpbml0CmNhbGxiYWNrLCByZW1vdmVzIHJlZHVuZGFudCBjbG9jayBtYW5hZ2VtZW50 LCBhbmQgcmVnaXN0ZXJzIGEgVVNCIHJvbGUgc3dpdGNoLgoKPiAtLS0gYS9kcml2ZXJzL3BoeS9u dXZvdG9uL3BoeS1tYTM1ZDEtdXNiMi5jCj4gKysrIGIvZHJpdmVycy9waHkvbnV2b3Rvbi9waHkt bWEzNWQxLXVzYjIuYwpbIC4uLiBdCj4gK3N0YXRpYyBpbnQgbWEzNV91c2JfcGh5X2luaXQoc3Ry dWN0IHBoeSAqcGh5KQo+ICt7Cj4gKwlzdHJ1Y3QgbWEzNV9waHlfcG9ydCAqcG9ydCA9IHBoeV9n ZXRfZHJ2ZGF0YShwaHkpOwo+ICsJc3RydWN0IG1hMzVfdXNiX3BoeSAqcCA9IGNvbnRhaW5lcl9v Zihwb3J0IC0gcG9ydC0+aWR4LAo+ICsJCQkJCSAgICAgIHN0cnVjdCBtYTM1X3VzYl9waHksIHBv cnRbMF0pOwo+ICsJdW5zaWduZWQgaW50IG4gPSBwb3J0LT5pZHg7Cj4gKwl1bnNpZ25lZCBpbnQg dmFsOwo+ICsJaW50IHJldDsKPiArCj4gKwlyZWdtYXBfcmVhZChwLT5zeXNyZWcsIE1BMzVfU1lT X1VTQlBNSVNDUiwgJnZhbCk7Cj4gKwo+ICsJaWYgKHZhbCAmIFVTQlBNSVNDUl9QSFlfU1VTUEVO RChuKSkKPiArCQlyZXR1cm4gMDsKCltTZXZlcml0eTogSGlnaF0KRG9lcyByZXR1cm5pbmcgZWFy bHkgaGVyZSBza2lwIG5lY2Vzc2FyeSBQSFkgY2xvY2sgc3RhYmlsaXphdGlvbiBjaGVja3M/CgpU aGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gc3BlY2lmaWNhbGx5IHBvbGxlZCB0aGUgY2xvY2sg c3RhYmxlIGJpdApldmVuIHdoZW4gdGhlIHN1c3BlbmQgYml0IHdhcyBhbHJlYWR5IHNldC4gQnkg cmV0dXJuaW5nIGltbWVkaWF0ZWx5LAp0aGUgVVNCIGNvbnRyb2xsZXIgbWlnaHQgc3RhcnQgYWNj ZXNzaW5nIHRoZSBQSFkgYmVmb3JlIGl0cyBuZXdseSB1bmdhdGVkCmNsb2NrIGhhcyBmdWxseSBz dGFiaWxpemVkLCBwb3RlbnRpYWxseSByZXN1bHRpbmcgaW4gYnVzIGhhbmdzLgoKWyAuLi4gXQo+ ICtzdGF0aWMgZW51bSB1c2Jfcm9sZSBtYTM1X3JvbGVfc3dfZ2V0KHN0cnVjdCB1c2Jfcm9sZV9z d2l0Y2ggKnN3KQo+ICt7Cj4gKwlzdHJ1Y3QgbWEzNV91c2JfcGh5ICpwID0gdXNiX3JvbGVfc3dp dGNoX2dldF9kcnZkYXRhKHN3KTsKPiArCXUzMiB2YWw7Cj4gKwo+ICsJcmVnbWFwX3JlYWQocC0+ c3lzcmVnLCBNQTM1X1NZU19QV1JPTk9UUCwgJnZhbCk7Cj4gKwo+ICsJcmV0dXJuICh2YWwgJiBQ V1JPTk9UUF9VU0JQMElEKSA/IFVTQl9ST0xFX0hPU1QgOiBVU0JfUk9MRV9ERVZJQ0U7Cj4gK30K CltTZXZlcml0eTogTWVkaXVtXQpJcyBpdCBwb3NzaWJsZSBmb3IgdmFsIHRvIGJlIGV2YWx1YXRl ZCB1bmluaXRpYWxpemVkIGhlcmU/CgpJZiByZWdtYXBfcmVhZCgpIGVuY291bnRlcnMgYW4gZXJy b3IsIGl0IHJldHVybnMgYSBub24temVybyBlcnJvciBjb2RlCmFuZCBsZWF2ZXMgdmFsIHVubW9k aWZpZWQuIFRoaXMgY291bGQgY2F1c2UgdGhlIGZ1bmN0aW9uIHRvIHJldHVybiBhbgppbmNvcnJl Y3QgVVNCIHJvbGUgYmFzZWQgb24gc3RhY2sgZ2FyYmFnZS4KClsgLi4uIF0KPiArc3RhdGljIHN0 cnVjdCBwaHkgKm1hMzVfdXNiX3BoeV94bGF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gKwkJCQkg ICAgICBjb25zdCBzdHJ1Y3Qgb2ZfcGhhbmRsZV9hcmdzICphcmdzKQo+ICt7Cj4gKwlzdHJ1Y3Qg bWEzNV91c2JfcGh5ICpwID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4gKwo+ICsJaWYgKGFyZ3Mt PmFyZ3NbMF0gPj0gTUEzNV9QSFlfTlVNKQo+ICsJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwoK W1NldmVyaXR5OiBIaWdoXQpEb2VzIHRoaXMgY29kZSBzYWZlbHkgaGFuZGxlIGRldmljZSB0cmVl cyB3aGVyZSB0aGUgbnVtYmVyIG9mIHBoeSBjZWxscyBpcyB6ZXJvPwoKSWYgYXJnc19jb3VudCBp cyB6ZXJvLCBhcmdzLT5hcmdzIHdvdWxkIGJlIHVuaW5pdGlhbGl6ZWQgc3RhY2sgbWVtb3J5LAp3 aGljaCBjb3VsZCByZXN1bHQgaW4gcmV0dXJuaW5nIGFuIGluY29ycmVjdCBQSFkgcG9ydCBvciBv dXQtb2YtYm91bmRzCmFjY2Vzcy4gU2hvdWxkIHRoZXJlIGJlIGEgY2hlY2sgZm9yIGFyZ3MtPmFy Z3NfY291bnQgPj0gMT8KClsgLi4uIF0KPiArc3RhdGljIGludCBtYTM1X3VzYl9waHlfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArewpbIC4uLiBdCj4gKwlwLT5zeXNyZWcg PSBzeXNjb25fbm9kZV90b19yZWdtYXAocGRldi0+ZGV2LnBhcmVudC0+b2Zfbm9kZSk7Cj4gKwlp ZiAoSVNfRVJSKHAtPnN5c3JlZykpCj4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoJnBkZXYtPmRl diwgUFRSX0VSUihwLT5zeXNyZWcpLAo+ICsJCQkJICAgICAiZmFpbGVkIHRvIGdldCBwYXJlbnQg U1lTIHJlZ21hcFxuIik7CgpbU2V2ZXJpdHk6IEhpZ2hdCkRvZXMgdGhpcyBicmVhayBEZXZpY2Ug VHJlZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5PwoKVGhlIG9sZCBpbXBsZW1lbnRhdGlvbiByZWxp ZWQgb24gYSAibnV2b3RvbixzeXMiIHBoYW5kbGUgZmFsbGJhY2sgd2hpY2ggaGFzCmJlZW4gcmVt b3ZlZCBoZXJlLiBTeXN0ZW1zIHVzaW5nIG9sZGVyIGRldmljZSB0cmVlIGJpbmFyaWVzIG1pZ2h0 IGZhaWwgdG8KcHJvYmUgdGhlIFVTQiBQSFkgb24ga2VybmVsIHVwZ3JhZGVzIGlmIHRoZSBub2Rl IGlzbid0IGEgZGlyZWN0IGNoaWxkIG9mCnRoZSBzeXNjb24uCgpbIC4uLiBdCj4gKwlpZiAob2Zf cHJvcGVydHlfcmVhZF9ib29sKHBkZXYtPmRldi5vZl9ub2RlLCAibnV2b3RvbixvYy1hY3RpdmUt aGlnaCIpKQo+ICsJCXJlZ21hcF91cGRhdGVfYml0cyhwLT5zeXNyZWcsIE1BMzVfU1lTX01JU0NG Q1IwLAo+ICsJCQkJICAgTUlTQ0ZDUjBfVUhPVlJDVVJILCBNSVNDRkNSMF9VSE9WUkNVUkgpOwoK W1NldmVyaXR5OiBIaWdoXQpJZiB0aGUgIm51dm90b24sb2MtYWN0aXZlLWhpZ2giIHByb3BlcnR5 IGlzIGFic2VudCwgc2hvdWxkIHRoaXMgY29kZSBleHBsaWNpdGx5CmNsZWFyIHRoZSBNSVNDRkNS MF9VSE9WUkNVUkggYml0PwoKV2l0aG91dCBhbiBlbHNlIGJyYW5jaCB0byBjbGVhciB0aGUgYml0 LCBhIHNvZnQgcmVib290IGNvdWxkIGluY29ycmVjdGx5CmluaGVyaXQgYW4gYWN0aXZlLWhpZ2gg c3RhdGUgc2V0IGJ5IGEgYm9vdGxvYWRlciBvciBwcmV2aW91cyBrZXJuZWwuCgotLSAKU2FzaGlr byBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIwMjYwNjI1MDIz OTU4LjU2OTI5OS0xLWEwOTg3MjAzMDY5QGdtYWlsLmNvbT9wYXJ0PTQKCi0tIApsaW51eC1waHkg bWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo= 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 D45CE2F3600 for ; Thu, 25 Jun 2026 02:59:26 +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=1782356367; cv=none; b=QNqTQ9M5tbI/CgKqopXm58FEg1LvBUxIeWeJxtPCH+j36dzHTkfPPomX70y0069gN05AE0/TUL93EUkI67eXxmjXjavku5AW6WCV85UX6kMYoDXrSm9EF462fUNY6Pzl6G5fQF864fAGzKjHSDz3WQMgYkyBUBxBLFpi2QMWkm4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782356367; c=relaxed/simple; bh=BfUpTwDnm/+gp2FBcezAXq/bH/daKdlyxa5vbfpupDw=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=dmE4ykPc4KHCheVyvGtG4W7Hhk1utYmawQUN292CtnGM+uxzCjx6V/kD6fNkY5r15sY4JygiNTKDqo7zibJrrvIyD8+vw3Y1XIqEJtevf+9FcpbpY7Mj1S9aLxgaTV3iAWrdhl9PgFrguetNfJwocNJOWCMcX5qK4EKOYkzP6rE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NdKktpW9; 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="NdKktpW9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3A4F81F000E9; Thu, 25 Jun 2026 02:59:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1782356366; bh=avXWWg+j1E3+3kJoRvQbitlmoOR8W82Q+/SqLJ8QQUc=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=NdKktpW9lGsiJCdkkQZUFknd7olJ+EDbsu/vtu7sMJAkNPmtH6NztF4l9qzRWqdpO DLw5JOaG+jN07oCJ7OQF0rdcyijQmaMOGzoQYIS0dve8axZFmNVW/inZZNHHZ+9beL j+Br7TBqTaw4LxDmjukAilsSxnH5Gz5TpbHy7TqV1aKQk+ea3ZpPF62KC7ZboF4uvp ru+8N2CGhyMxqJBO3txvZSZ6N7s9KeYtVzSDmtFJkKHulXGc4u5j78IXauCik6MZtN KKIaodBR4qcwzqHtEVXcPq6KI1ZlOJabx9RdB7X/Xctl53magpaMpDALyVhKQZQhdA qjDKJfhtGqSlg== From: sashiko-bot@kernel.org Subject: Re: [PATCH v2 4/4] phy: nuvoton: phy-ma35d1-usb2: extend to dual-port with OTG support Reply-To: sashiko-reviews@lists.linux.dev To: "Joey Lu" Cc: neil.armstrong@linaro.org, robh@kernel.org, conor+dt@kernel.org, olteanv@gmail.com, devicetree@vger.kernel.org, vkoul@kernel.org, linux-phy@lists.infradead.org In-Reply-To: <20260625023958.569299-5-a0987203069@gmail.com> References: <20260625023958.569299-1-a0987203069@gmail.com> <20260625023958.569299-5-a0987203069@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Thu, 25 Jun 2026 02:59:25 +0000 Message-Id: <20260625025926.3A4F81F000E9@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 5 potential issue(= s) to consider: - [High] The custom `ma35_usb_phy_xlate` callback accesses `args->args[0]` = without verifying `args->args_count`, leading to a potential read of uninit= ialized stack memory. - [High] The driver breaks Device Tree backward compatibility by unconditio= nally relying on the parent's `of_node` for the syscon regmap, removing the= legacy 'nuvoton,sys' phandle fallback. - [High] The driver fails to explicitly clear the 'MISCFCR0_UHOVRCURH' bit = if the 'nuvoton,oc-active-high' property is absent, leading to persistent i= ncorrect hardware state across soft reboots. - [High] The driver incorrectly skips PHY clock stabilization checks if the= `SUSPEND` bit is already set, potentially leading to hardware hangs. - [Medium] The variable 'val' in `ma35_role_sw_get` is used uninitialized i= f the `regmap_read` call fails. -- commit ff3f6d83cfb95f48a64d4c533549a7465a41d150 Author: Joey Lu phy: nuvoton: phy-ma35d1-usb2: extend to dual-port with OTG support This commit extends the driver to support both PHY ports and integrates OTG role switching. It introduces a custom xlate function, unifies the init callback, removes redundant clock management, and registers a USB role swit= ch. > --- a/drivers/phy/nuvoton/phy-ma35d1-usb2.c > +++ b/drivers/phy/nuvoton/phy-ma35d1-usb2.c [ ... ] > +static int ma35_usb_phy_init(struct phy *phy) > +{ > + struct ma35_phy_port *port =3D phy_get_drvdata(phy); > + struct ma35_usb_phy *p =3D container_of(port - port->idx, > + struct ma35_usb_phy, port[0]); > + unsigned int n =3D port->idx; > + unsigned int val; > + int ret; > + > + regmap_read(p->sysreg, MA35_SYS_USBPMISCR, &val); > + > + if (val & USBPMISCR_PHY_SUSPEND(n)) > + return 0; [Severity: High] Does returning early here skip necessary PHY clock stabilization checks? The previous implementation specifically polled the clock stable bit even when the suspend bit was already set. By returning immediately, the USB controller might start accessing the PHY before its newly ungated clock has fully stabilized, potentially resulting in bus hangs. [ ... ] > +static enum usb_role ma35_role_sw_get(struct usb_role_switch *sw) > +{ > + struct ma35_usb_phy *p =3D usb_role_switch_get_drvdata(sw); > + u32 val; > + > + regmap_read(p->sysreg, MA35_SYS_PWRONOTP, &val); > + > + return (val & PWRONOTP_USBP0ID) ? USB_ROLE_HOST : USB_ROLE_DEVICE; > +} [Severity: Medium] Is it possible for val to be evaluated uninitialized here? If regmap_read() encounters an error, it returns a non-zero error code and leaves val unmodified. This could cause the function to return an incorrect USB role based on stack garbage. [ ... ] > +static struct phy *ma35_usb_phy_xlate(struct device *dev, > + const struct of_phandle_args *args) > +{ > + struct ma35_usb_phy *p =3D dev_get_drvdata(dev); > + > + if (args->args[0] >=3D MA35_PHY_NUM) > + return ERR_PTR(-EINVAL); [Severity: High] Does this code safely handle device trees where the number of phy cells is = zero? If args_count is zero, args->args would be uninitialized stack memory, which could result in returning an incorrect PHY port or out-of-bounds access. Should there be a check for args->args_count >=3D 1? [ ... ] > +static int ma35_usb_phy_probe(struct platform_device *pdev) > +{ [ ... ] > + p->sysreg =3D syscon_node_to_regmap(pdev->dev.parent->of_node); > + if (IS_ERR(p->sysreg)) > + return dev_err_probe(&pdev->dev, PTR_ERR(p->sysreg), > + "failed to get parent SYS regmap\n"); [Severity: High] Does this break Device Tree backward compatibility? The old implementation relied on a "nuvoton,sys" phandle fallback which has been removed here. Systems using older device tree binaries might fail to probe the USB PHY on kernel upgrades if the node isn't a direct child of the syscon. [ ... ] > + if (of_property_read_bool(pdev->dev.of_node, "nuvoton,oc-active-high")) > + regmap_update_bits(p->sysreg, MA35_SYS_MISCFCR0, > + MISCFCR0_UHOVRCURH, MISCFCR0_UHOVRCURH); [Severity: High] If the "nuvoton,oc-active-high" property is absent, should this code explic= itly clear the MISCFCR0_UHOVRCURH bit? Without an else branch to clear the bit, a soft reboot could incorrectly inherit an active-high state set by a bootloader or previous kernel. --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260625023958.5692= 99-1-a0987203069@gmail.com?part=3D4