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 A417ECD6E4A for ; Wed, 3 Jun 2026 06:02:40 +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=MEsHGqxBOxpAuSiXFy8whFjr7nnPdVDGPgZNs5FXQIA=; b=kG9/QR0dqGmSxj TCLXP/+3SDfXdnKVQ49eqQLxlOhxloD+eNKStkBqiQ0w5kdc+RsVnFppBYDWZ2YvIl3Mjotmbqq4W SK86T8nlkNy2FbPdfQ3JZpWSHfvnDFMaKdNdMJMEGsi/0RM44G6VTDizCGTeVCwfK/XCxZhqApV1/ RX8kZxv8Z62kuBxtjhOfn0nhDXVSFbMg0G/etVnC+PidlWISvEwRut6P+79BCQfqPMO883vb51PN8 Vkd2NyXJhHCRNrbK1lzIkqOmEX90l/NdgYvsoBor9c11TWqDI32QkZEE35hcIoqVlOcS4+a7jaWgt swOeu6fM853m7UjzOSZA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wUega-0000000EMZR-1jZi; Wed, 03 Jun 2026 06:02:40 +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 1wUegY-0000000EMZ0-1IHG for linux-phy@lists.infradead.org; Wed, 03 Jun 2026 06:02:39 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 0D15E403F6; Wed, 3 Jun 2026 06:02:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 94DEE1F00893; Wed, 3 Jun 2026 06:02:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1780466555; bh=7ovt1AyFbPznYubKXLeOjpRsz3oBUSJsgWV/gbqXLP8=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=kXRGaZsVeqsfQSBLfhmUP3i1Gpn4HpkWdJ5SIytzPdutNKn2dllJ/3xSuTvL+tfwL FlECahmX8MnQ0mIIcJWQGVQpWoRc8SYbhJSgLrowG0biWiF3crouwYF0qoAX5X1vMy fVTuSfLeiffmYElidvdAZU5LEqwqQQQdXrjvszgdCXK2P+nw7ah2/KaqyskPJ1RFYj DLh0ev0Sr7a3yksVq87XiKXsMjiqLAfnuH+53MDoUxeYez7qch1CHQBj3+T7DjS6aY FOorIS2jJFPbc/0fztMUbsNpyf+ateY4iSmoAduV8Kt5VC+c9d/58IcSyPG2XLlwm2 qTK3SBXn1Jlhg== From: sashiko-bot@kernel.org Subject: Re: [PATCH v3 3/5] phy: fsl-imx8mq-usb: add runtime PM support To: "Xu Yang" Cc: Frank.Li@kernel.org, imx@lists.linux.dev, olteanv@gmail.com, neil.armstrong@linaro.org, vkoul@kernel.org, linux-phy@lists.infradead.org In-Reply-To: <20260603-imx8mp-usb-phy-improvement-v3-3-7afb8f89abc6@nxp.com> References: <20260603-imx8mp-usb-phy-improvement-v3-3-7afb8f89abc6@nxp.com> Date: Wed, 03 Jun 2026 06:02:35 +0000 Message-Id: <20260603060235.94DEE1F00893@smtp.kernel.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260602_230238_427299_DE092D2C X-CRM114-Status: GOOD ( 16.72 ) 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 MiBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFVuY2hlY2tlZCByZXR1 cm4gdmFsdWUgb2YgYHBtX3J1bnRpbWVfZ2V0X3N5bmMoKWAgdmlhIGBndWFyZChwbV9ydW50aW1l X2FjdGl2ZSlgIGluIGB0Y2FfYmxrX3R5cGVjX3N3aXRjaF9zZXQoKWAgbGVhZHMgdG8gdW5zYWZl IHJlZ2lzdGVyIGFjY2Vzcy4KLSBbSGlnaF0gRG91YmxlIGRpc2FibGUgb2YgY2xvY2tzIChlbmFi bGUgY291bnQgdW5kZXJmbG93KSBvbiBkcml2ZXIgdW5iaW5kIGR1ZSB0byBtaXhpbmcgYGRldm1f Y2xrX2dldF9lbmFibGVkKClgIHdpdGggbWFudWFsIGNsb2NrIG1hbmFnZW1lbnQgaW4gUE0gcnVu dGltZSBzdXNwZW5kLgotLQoKY29tbWl0IDNjYTM2ZDNiNWVlNzk3ZTU4N2E2MTVmOWRmNDgyYzcx NTlhMjlkODgKQXV0aG9yOiBYdSBZYW5nIDx4dS55YW5nXzJAbnhwLmNvbT4KCnBoeTogZnNsLWlt eDhtcS11c2I6IGFkZCBydW50aW1lIFBNIHN1cHBvcnQKCkFkZCBydW50aW1lIFBNIHRvIGVuc3Vy ZSB0aGUgUEhZIGlzIHByb3Blcmx5IHBvd2VyZWQgYW5kIGNsb2NrZWQgZHVyaW5nCnJlZ2lzdGVy IGFjY2VzcywgcHJldmVudGluZyBwb3RlbnRpYWwgc3lzdGVtIGhhbmdzLgoKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9waHkvZnJlZXNjYWxlL3BoeS1mc2wtaW14OG1xLXVzYi5jIGIvZHJpdmVycy9w aHkvZnJlZXNjYWxlL3BoeS1mc2wtaW14OG1xLXVzYi5jCj4gaW5kZXggNTkxZGRmMzQ2MDYxOC4u YjAwOTJjMzQ0MTZlMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3BoeS9mcmVlc2NhbGUvcGh5LWZz bC1pbXg4bXEtdXNiLmMKPiArKysgYi9kcml2ZXJzL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4 bXEtdXNiLmMKWyAuLi4gXQo+IEBAIC0xMzYsMTcgKzEzNywxMyBAQCBzdGF0aWMgaW50IHRjYV9i bGtfdHlwZWNfc3dpdGNoX3NldChzdHJ1Y3QgdHlwZWNfc3dpdGNoX2RldiAqc3csCj4gIHsKPiAg CXN0cnVjdCBpbXg4bXFfdXNiX3BoeSAqaW14X3BoeSA9IHR5cGVjX3N3aXRjaF9nZXRfZHJ2ZGF0 YShzdyk7Cj4gIAlzdHJ1Y3QgdGNhX2JsayAqdGNhID0gaW14X3BoeS0+dGNhOwo+IC0JaW50IHJl dDsKPiAgCj4gIAlpZiAodGNhLT5vcmllbnRhdGlvbiA9PSBvcmllbnRhdGlvbikKPiAgCQlyZXR1 cm4gMDsKPiAgCj4gLQlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoaW14X3BoeS0+Y2xrKTsKPiAt CWlmIChyZXQpCj4gLQkJcmV0dXJuIHJldDsKPiArCWd1YXJkKHBtX3J1bnRpbWVfYWN0aXZlKSgm aW14X3BoeS0+cGh5LT5kZXYpOwoKW1NldmVyaXR5OiBIaWdoXQpEb2VzIHRoaXMgd3JhcHBlciBp Z25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBwbV9ydW50aW1lX2dldF9zeW5jKCk/CgpJZiB0aGUg cnVudGltZSByZXN1bWUgZmFpbHMgKGZvciBleGFtcGxlLCBpZiB0aGUgdW5kZXJseWluZyBjbG9j awplbmFibGVtZW50IGZhaWxzKSwgdGhlIGVycm9yIGFwcGVhcnMgdG8gYmUgc3dhbGxvd2VkIGhl cmUuIEV4ZWN1dGlvbiB3b3VsZAp0aGVuIHByb2NlZWQgdG8gdGNhX2Jsa19vcmllbnRhdGlvbl9z ZXQoKSwgd2hpY2ggcGVyZm9ybXMgTU1JTyBhY2Nlc3NlcwpvbiB0aGUgdW5jbG9ja2VkIFRDQSBo YXJkd2FyZSByZWdpc3RlcnMuCgpPbiBpLk1YL0FSTSBwbGF0Zm9ybXMsIGFjY2Vzc2luZyB1bmNs b2NrZWQgcmVnaXN0ZXIgc3BhY2UgdHJpZ2dlcnMgYQpzeW5jaHJvbm91cyBleHRlcm5hbCBhYm9y dCAoU0Vycm9yKSwgcmVzdWx0aW5nIGluIGEgc3lzdGVtIGhhbmcuCgpTaG91bGQgdGhpcyBleHBs aWNpdGx5IHVzZSBwbV9ydW50aW1lX3Jlc3VtZV9hbmRfZ2V0KCkgb3Igc2ltaWxhciwgYW5kCnZl cmlmeSB0aGUgcmV0dXJuIHZhbHVlIGJlZm9yZSBwcm9jZWVkaW5nPwoKPiAgCj4gIAl0Y2FfYmxr X29yaWVudGF0aW9uX3NldCh0Y2EsIG9yaWVudGF0aW9uKTsKPiAtCWNsa19kaXNhYmxlX3VucHJl cGFyZShpbXhfcGh5LT5jbGspOwo+ICAKPiAgCXJldHVybiAwOwo+ICB9ClsgLi4uIF0KPiBAQCAt Njg2LDYgKzY3MSw3IEBAIHN0YXRpYyBpbnQgaW14OG1xX3VzYl9waHlfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKPiAgCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7 Cj4gIAlzdHJ1Y3QgaW14OG1xX3VzYl9waHkgKmlteF9waHk7Cj4gIAljb25zdCBzdHJ1Y3QgcGh5 X29wcyAqcGh5X29wczsKPiArCWludCByZXQ7Cj4gIAo+ICAJaW14X3BoeSA9IGRldm1fa3phbGxv YyhkZXYsIHNpemVvZigqaW14X3BoeSksIEdGUF9LRVJORUwpOwo+ICAJaWYgKCFpbXhfcGh5KQo+ IEBAIC02OTMsMTMgKzY3OSwxMyBAQCBzdGF0aWMgaW50IGlteDhtcV91c2JfcGh5X3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAo+ICAJcGxhdGZvcm1fc2V0X2RydmRhdGEo cGRldiwgaW14X3BoeSk7Cj4gIAo+IC0JaW14X3BoeS0+Y2xrID0gZGV2bV9jbGtfZ2V0KGRldiwg InBoeSIpOwo+ICsJaW14X3BoeS0+Y2xrID0gZGV2bV9jbGtfZ2V0X2VuYWJsZWQoZGV2LCAicGh5 Iik7CgpbU2V2ZXJpdHk6IEhpZ2hdCkNvdWxkIG1peGluZyBkZXZtX2Nsa19nZXRfZW5hYmxlZCgp IHdpdGggbWFudWFsIGNsa19kaXNhYmxlX3VucHJlcGFyZSgpCmluIHRoZSBydW50aW1lIHN1c3Bl bmQgY2FsbGJhY2sgY2F1c2UgYSBkb3VibGUtZGlzYWJsZT8KCkR1cmluZyBkcml2ZXIgdW5iaW5k LCB0aGUgZHJpdmVyIGNvcmUgbWF5IHRyYW5zaXRpb24gdGhlIGRldmljZSB0byB0aGUKc3VzcGVu ZGVkIHN0YXRlLCB3aGljaCBpbnZva2VzIHRoZSBydW50aW1lIHN1c3BlbmQgY2FsbGJhY2sgYW5k IGRyb3BzCnRoZSBjbG9jayBlbmFibGUgY291bnQgdG8gMC4KCkltbWVkaWF0ZWx5IGZvbGxvd2lu ZyB0aGlzLCBkZXZyZXMgdGVhcmRvd24gcnVucyBhbmQgdW5jb25kaXRpb25hbGx5CmNhbGxzIGNs a19kaXNhYmxlX3VucHJlcGFyZSgpIGFnYWluIGZvciB0aGVzZSBkZXZtX2Nsa19nZXRfZW5hYmxl ZCgpCmFjdGlvbnMuCgpXb3VsZCB0aGlzIGRyb3AgdGhlIGNsb2NrIGNvdW50IHRvIC0xLCB0cmln Z2VyaW5nIGFuIGVuYWJsZSBjb3VudAp1bmRlcmZsb3cgV0FSTiBpbiB0aGUgY2xvY2sgY29yZT8K Cj4gIAlpZiAoSVNfRVJSKGlteF9waHktPmNsaykpIHsKPiAgCQlkZXZfZXJyKGRldiwgImZhaWxl ZCB0byBnZXQgaW14OG1xIHVzYiBwaHkgY2xvY2tcbiIpOwo+ICAJCXJldHVybiBQVFJfRVJSKGlt eF9waHktPmNsayk7Cj4gIAl9Cj4gIAo+IC0JaW14X3BoeS0+YWx0X2NsayA9IGRldm1fY2xrX2dl dF9vcHRpb25hbChkZXYsICJhbHQiKTsKPiArCWlteF9waHktPmFsdF9jbGsgPSBkZXZtX2Nsa19n ZXRfb3B0aW9uYWxfZW5hYmxlZChkZXYsICJhbHQiKTsKPiAgCWlmIChJU19FUlIoaW14X3BoeS0+ YWx0X2NsaykpCj4gIAkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJSKGlteF9waHkt PmFsdF9jbGspLAo+ICAJCQkJICAgICJGYWlsZWQgdG8gZ2V0IGFsdCBjbGtcbiIpOwpbIC4uLiBd Cj4gQEAgLTczNSwxMSArNzI1LDQzIEBAIHN0YXRpYyBpbnQgaW14OG1xX3VzYl9waHlfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCXJldHVybiBQVFJfRVJSX09SX1pFUk8o cGh5X3Byb3ZpZGVyKTsKPiAgfQo+ICAKPiArc3RhdGljIGludCBpbXg4bXFfdXNiX3BoeV9ydW50 aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ICt7Cj4gKwlzdHJ1Y3QgaW14OG1xX3Vz Yl9waHkgKmlteF9waHkgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiArCj4gKwljbGtfZGlzYWJs ZV91bnByZXBhcmUoaW14X3BoeS0+YWx0X2Nsayk7Cj4gKwljbGtfZGlzYWJsZV91bnByZXBhcmUo aW14X3BoeS0+Y2xrKTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQoKLS0gClNhc2hpa28gQUkgcmV2 aWV3IMK3IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2MDYwMy1pbXg4bXAtdXNi LXBoeS1pbXByb3ZlbWVudC12My0wLTdhZmI4Zjg5YWJjNkBueHAuY29tP3BhcnQ9MwoKLS0gCmxp bnV4LXBoeSBtYWlsaW5nIGxpc3QKbGludXgtcGh5QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cHM6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcGh5Cg== 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 4EEAF37DAA8 for ; Wed, 3 Jun 2026 06:02:36 +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=1780466557; cv=none; b=i6GBzcQVibpAmkhEeq2Mx/uC+l+EQzgxzekgjGJh4GPygdslhxR+HNG1EAJwSczdN3aHHb44e4sm3fO126Gc4Q8viFrfSR++N9Eain8esoRwuqr5Vcm33cyb6TrcFuDUm0oT93WHkXYP78BCXlRzc9DMQXhURTz5j2cNQ4vBX7g= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780466557; c=relaxed/simple; bh=ZHgFihFtHskDiAHMorMH0vogaXFq65qoyKaqxIRVbcc=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=Wucat16Z/bRvwztxFlPGa10qMJlR2OnJ9P4plhJwloBUZWq9WqybGJO0pYS85korgULo72Txx+iStLxyv6dHvOYtDtr/ttc1R8TeD3mQWKh1D1CZV/1GaLZPJiwEN9cIAYe64Mede0shTphD0NcasNMtAMOQbsem2UYeHpsIo5Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kXRGaZsV; 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="kXRGaZsV" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 94DEE1F00893; Wed, 3 Jun 2026 06:02:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1780466555; bh=7ovt1AyFbPznYubKXLeOjpRsz3oBUSJsgWV/gbqXLP8=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=kXRGaZsVeqsfQSBLfhmUP3i1Gpn4HpkWdJ5SIytzPdutNKn2dllJ/3xSuTvL+tfwL FlECahmX8MnQ0mIIcJWQGVQpWoRc8SYbhJSgLrowG0biWiF3crouwYF0qoAX5X1vMy fVTuSfLeiffmYElidvdAZU5LEqwqQQQdXrjvszgdCXK2P+nw7ah2/KaqyskPJ1RFYj DLh0ev0Sr7a3yksVq87XiKXsMjiqLAfnuH+53MDoUxeYez7qch1CHQBj3+T7DjS6aY FOorIS2jJFPbc/0fztMUbsNpyf+ateY4iSmoAduV8Kt5VC+c9d/58IcSyPG2XLlwm2 qTK3SBXn1Jlhg== From: sashiko-bot@kernel.org Subject: Re: [PATCH v3 3/5] phy: fsl-imx8mq-usb: add runtime PM support Reply-To: sashiko-reviews@lists.linux.dev To: "Xu Yang" Cc: Frank.Li@kernel.org, imx@lists.linux.dev, olteanv@gmail.com, neil.armstrong@linaro.org, vkoul@kernel.org, linux-phy@lists.infradead.org In-Reply-To: <20260603-imx8mp-usb-phy-improvement-v3-3-7afb8f89abc6@nxp.com> References: <20260603-imx8mp-usb-phy-improvement-v3-3-7afb8f89abc6@nxp.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Wed, 03 Jun 2026 06:02:35 +0000 Message-Id: <20260603060235.94DEE1F00893@smtp.kernel.org> Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 2 potential issue(= s) to consider: - [High] Unchecked return value of `pm_runtime_get_sync()` via `guard(pm_ru= ntime_active)` in `tca_blk_typec_switch_set()` leads to unsafe register acc= ess. - [High] Double disable of clocks (enable count underflow) on driver unbind= due to mixing `devm_clk_get_enabled()` with manual clock management in PM = runtime suspend. -- commit 3ca36d3b5ee797e587a615f9df482c7159a29d88 Author: Xu Yang phy: fsl-imx8mq-usb: add runtime PM support Add runtime PM to ensure the PHY is properly powered and clocked during register access, preventing potential system hangs. > diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/fre= escale/phy-fsl-imx8mq-usb.c > index 591ddf3460618..b0092c34416e3 100644 > --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c > +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c [ ... ] > @@ -136,17 +137,13 @@ static int tca_blk_typec_switch_set(struct typec_sw= itch_dev *sw, > { > struct imx8mq_usb_phy *imx_phy =3D typec_switch_get_drvdata(sw); > struct tca_blk *tca =3D imx_phy->tca; > - int ret; > =20 > if (tca->orientation =3D=3D orientation) > return 0; > =20 > - ret =3D clk_prepare_enable(imx_phy->clk); > - if (ret) > - return ret; > + guard(pm_runtime_active)(&imx_phy->phy->dev); [Severity: High] Does this wrapper ignore the return value of pm_runtime_get_sync()? If the runtime resume fails (for example, if the underlying clock enablement fails), the error appears to be swallowed here. Execution would then proceed to tca_blk_orientation_set(), which performs MMIO accesses on the unclocked TCA hardware registers. On i.MX/ARM platforms, accessing unclocked register space triggers a synchronous external abort (SError), resulting in a system hang. Should this explicitly use pm_runtime_resume_and_get() or similar, and verify the return value before proceeding? > =20 > tca_blk_orientation_set(tca, orientation); > - clk_disable_unprepare(imx_phy->clk); > =20 > return 0; > } [ ... ] > @@ -686,6 +671,7 @@ static int imx8mq_usb_phy_probe(struct platform_devic= e *pdev) > struct device *dev =3D &pdev->dev; > struct imx8mq_usb_phy *imx_phy; > const struct phy_ops *phy_ops; > + int ret; > =20 > imx_phy =3D devm_kzalloc(dev, sizeof(*imx_phy), GFP_KERNEL); > if (!imx_phy) > @@ -693,13 +679,13 @@ static int imx8mq_usb_phy_probe(struct platform_dev= ice *pdev) > =20 > platform_set_drvdata(pdev, imx_phy); > =20 > - imx_phy->clk =3D devm_clk_get(dev, "phy"); > + imx_phy->clk =3D devm_clk_get_enabled(dev, "phy"); [Severity: High] Could mixing devm_clk_get_enabled() with manual clk_disable_unprepare() in the runtime suspend callback cause a double-disable? During driver unbind, the driver core may transition the device to the suspended state, which invokes the runtime suspend callback and drops the clock enable count to 0. Immediately following this, devres teardown runs and unconditionally calls clk_disable_unprepare() again for these devm_clk_get_enabled() actions. Would this drop the clock count to -1, triggering an enable count underflow WARN in the clock core? > if (IS_ERR(imx_phy->clk)) { > dev_err(dev, "failed to get imx8mq usb phy clock\n"); > return PTR_ERR(imx_phy->clk); > } > =20 > - imx_phy->alt_clk =3D devm_clk_get_optional(dev, "alt"); > + imx_phy->alt_clk =3D devm_clk_get_optional_enabled(dev, "alt"); > if (IS_ERR(imx_phy->alt_clk)) > return dev_err_probe(dev, PTR_ERR(imx_phy->alt_clk), > "Failed to get alt clk\n"); [ ... ] > @@ -735,11 +725,43 @@ static int imx8mq_usb_phy_probe(struct platform_dev= ice *pdev) > return PTR_ERR_OR_ZERO(phy_provider); > } > =20 > +static int imx8mq_usb_phy_runtime_suspend(struct device *dev) > +{ > + struct imx8mq_usb_phy *imx_phy =3D dev_get_drvdata(dev); > + > + clk_disable_unprepare(imx_phy->alt_clk); > + clk_disable_unprepare(imx_phy->clk); > + > + return 0; > +} --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260603-imx8mp-usb= -phy-improvement-v3-0-7afb8f89abc6@nxp.com?part=3D3