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 685F6C5516D for ; Fri, 31 Jul 2026 08:21:24 +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=75e16xEWKJuYnVyfGOJywXUMz5KGybMZk1wZpeKSeaU=; b=NaSJ33mFjb/Qso ZzDsANR5KrTKNVkXdHEkPga+O5aWz5WWe3F/LscTdhMMj2JLWPgWZj4CCWbZENpVnFDEu6Na4HA4o LzSzULfD0p4uyyIPZ52r9yGdvbIML7diDpKq0S1haipHbW7gt5qOgjPw/X5KRoii2zShgUoqkvDlu iCaKZANS7yP4nXdr/An54su2rgpbq8NiCSwaYiB033HKJwqlZYuJ+JUAknRQGdNI+5wd4a1vPdpS+ HNOgCiNXHepguKsg9JCu5bELTOfxLm5efY9G9p1ZUNAfRRkRZQm0cjsmKPCCU/MZYe0abVC4bIUU0 Qd6v6uFo20su7wwPX0lQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wpiUe-0000000C3D8-0SZ6; Fri, 31 Jul 2026 08:21:24 +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 1wpiUc-0000000C3D2-2x2K for linux-phy@lists.infradead.org; Fri, 31 Jul 2026 08:21:22 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id B872D40E33; Fri, 31 Jul 2026 08:21:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3892A1F000E9; Fri, 31 Jul 2026 08:21:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1785486081; bh=qHC477qArOlNm/AcMHN7rx8NH6hAu2Xu9sljZQvxWog=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=fg4VVrE39ljF+A+PKTJ1JY4PER3iY5qvsYglZ9FpCiW831AwUNUDM+iiCEE5AfL3M ub0wE8BhvYtT1SjQnSiOqT/rDRD5GAClUhV17eCIoihqINr5RilDVy0yv23Pq17Gxb TJxKY6mocIECAqM/uWo3o//1koYXdHqMXCKENObQm0ez8uc/Rgixjk4SzL/xkkut6U fi963OeYCfdKAOZajFsPCPiSlztA+RbCezz/00c4XbA+CQulczEDbj7Ry3NV8sB1do LGKFv3KfqGh8qbIkdNQFbqqa9iH+P0PHU51kQWJJVAg+ZKL3SXXJG0wTXyyCFQE9P9 JGaBkPsogMQlQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v8 3/6] phy: fsl-imx8mq-usb: add runtime PM support To: "Xu Yang" Cc: vkoul@kernel.org, olteanv@gmail.com, imx@lists.linux.dev, neil.armstrong@linaro.org, linux-phy@lists.infradead.org, Frank.Li@kernel.org In-Reply-To: <20260731-imx8mp-usb-phy-improvement-v8-3-2ec8d6b3854d@nxp.com> References: <20260731-imx8mp-usb-phy-improvement-v8-0-2ec8d6b3854d@nxp.com> <20260731-imx8mp-usb-phy-improvement-v8-3-2ec8d6b3854d@nxp.com> Date: Fri, 31 Jul 2026 08:21:20 +0000 Message-Id: <20260731082121.3892A1F000E9@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 MSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpQcmUtZXhpc3RpbmcgaXNzdWVzOgot IFtNZWRpdW1dIFRPQ1RPVSByYWNlIGluIHRjYV9ibGtfdHlwZWNfc3dpdGNoX3NldCgpIGFuZCB0 Y2FfYmxrX2luaXQoKSBjYXVzZXMgaGFyZHdhcmUgb3JpZW50YXRpb24gZGVzeW5jaHJvbml6YXRp b24uCi0tCgotLS0gUGF0Y2ggWzNdOiBbUEFUQ0ggdjggMy82XSBwaHk6IGZzbC1pbXg4bXEtdXNi OiBhZGQgcnVudGltZSBQTSBzdXBwb3J0IC0tLQpjb21taXQgMjkzMmIwODhhZDFjNmZkYTYzMDJm OWVkM2Y1Nzc4Y2NiMGRhNzNiOQpBdXRob3I6IFh1IFlhbmcgPHh1LnlhbmdfMkBueHAuY29tPgoK cGh5OiBmc2wtaW14OG1xLXVzYjogYWRkIHJ1bnRpbWUgUE0gc3VwcG9ydAoKVGhpcyBjb21taXQg YWRkcyBydW50aW1lIFBNIHN1cHBvcnQgdG8gZW5zdXJlIHRoZSBQSFkgY2xvY2tzIGFyZSBwcm9w ZXJseSAKZ2F0ZWQgd2hlbiB0aGUgUEhZIGlzIG5vdCBpbiB1c2UsIHJlZHVjaW5nIHBvd2VyIGNv bnN1bXB0aW9uLiBDbG9jawptYW5hZ2VtZW50IGlzIHNoaWZ0ZWQgZnJvbSB0aGUgcG93ZXJfb24g YW5kIHBvd2VyX29mZiBjYWxsYmFja3MgaW50byB0aGUKbmV3IHJ1bnRpbWUgUE0gY2FsbGJhY2tz LgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvZnJlZXNjYWxlL3BoeS1mc2wtaW14OG1xLXVz Yi5jIGIvZHJpdmVycy9waHkvZnJlZXNjYWxlL3BoeS1mc2wtaW14OG1xLXVzYi5jCj4gaW5kZXgg M2E1Nzg4YzYwOWUxYi4uNDJkZTJjZmY0ZDVmMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3BoeS9m cmVlc2NhbGUvcGh5LWZzbC1pbXg4bXEtdXNiLmMKPiArKysgYi9kcml2ZXJzL3BoeS9mcmVlc2Nh bGUvcGh5LWZzbC1pbXg4bXEtdXNiLmMKWyAuLi4gXQo+IEBAIC0xMzYsMTcgKzEzNywxNSBAQCBz dGF0aWMgaW50IHRjYV9ibGtfdHlwZWNfc3dpdGNoX3NldChzdHJ1Y3QgdHlwZWNfc3dpdGNoX2Rl diAqc3csCj4gIHsKPiAgCXN0cnVjdCBpbXg4bXFfdXNiX3BoeSAqaW14X3BoeSA9IHR5cGVjX3N3 aXRjaF9nZXRfZHJ2ZGF0YShzdyk7Cj4gIAlzdHJ1Y3QgdGNhX2JsayAqdGNhID0gaW14X3BoeS0+ dGNhOwo+IC0JaW50IHJldDsKPiAgCj4gIAlpZiAodGNhLT5vcmllbnRhdGlvbiA9PSBvcmllbnRh dGlvbikKPiAgCQlyZXR1cm4gMDsKCltTZXZlcml0eTogTWVkaXVtXQpUaGlzIGlzIGEgcHJlLWV4 aXN0aW5nIGlzc3VlLCBidXQgSSBub3RpY2VkIGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uIGhl cmUuCgpEb2VzIHRoaXMgbG9ja2xlc3MgZXF1YWxpdHkgY2hlY2sgcmlzayBzaG9ydC1jaXJjdWl0 aW5nIHRoZSBvcmllbnRhdGlvbgpzd2l0Y2ggdXBkYXRlIGlmIGl0IHJhY2VzIHdpdGggYSBjb25j dXJyZW50IGluaXRpYWxpemF0aW9uPwoKRm9yIGluc3RhbmNlLCBpZiB0Y2FfYmxrX2luaXQoKSBp cyBjYWxsZWQgY29uY3VycmVudGx5IGR1cmluZyBkcml2ZXIgcHJvYmUKb3IgcmVzdW1lLCBpdCBl dmFsdWF0ZXMgdGNhLT5vcmllbnRhdGlvbiBsb2NrbGVzc2x5IGFuZCBwYXNzZXMgaXQgYnkgdmFs dWU6Cgp0Y2FfYmxrX2luaXQoKQogICAgLi4uCiAgICB0Y2FfYmxrX29yaWVudGF0aW9uX3NldCh0 Y2EsIHRjYS0+b3JpZW50YXRpb24pOwoKQ291bGQgdGNhX2Jsa190eXBlY19zd2l0Y2hfc2V0KCkg cmV0dXJuIDAgaGVyZSwgcmV0dXJuaW5nIHN1Y2Nlc3MgdG8gdGhlClR5cGUtQyBjb3JlLCB3aGls ZSB0aGUgaGFyZHdhcmUgaXMgc2ltdWx0YW5lb3VzbHkgb3ZlcndyaXR0ZW4gd2l0aCBhIHN0YWxl CnN0YXRlIGJ5IHRjYV9ibGtfaW5pdCgpPyBUaGlzIG1pZ2h0IGNhdXNlIHRoZSBoYXJkd2FyZSBv cmllbnRhdGlvbiB0byBiZWNvbWUKZGVzeW5jaHJvbml6ZWQgZnJvbSB0aGUgVHlwZS1DIHN1YnN5 c3RlbSdzIGV4cGVjdGVkIHN0YXRlLCBwb3RlbnRpYWxseQptaXNyb3V0aW5nIFVTQiAzLjAgZGF0 YSBsaW5lcy4KClsgLi4uIF0KCi0tIApTYXNoaWtvIEFJIHJldmlldyDCtyBodHRwczovL3Nhc2hp a28uZGV2LyMvcGF0Y2hzZXQvMjAyNjA3MzEtaW14OG1wLXVzYi1waHktaW1wcm92ZW1lbnQtdjgt MC0yZWM4ZDZiMzg1NGRAbnhwLmNvbT9wYXJ0PTMKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0 CmxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo= 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 E76362EC086 for ; Fri, 31 Jul 2026 08:21:21 +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=1785486083; cv=none; b=HUeZgXuY9DOn5VkeVfw6UTX5fi252/Ul87CbiVmy7iRYbbrxDswV2BdVPSXE5bxPVmmiO5tSyjLbjeZsntHlBLVgVnm6KtWAUorZ3kkY2oBg6ItrhQU+peimfRZA/aPc7LCdUWqdMyrkZMDgFNcqhtDimAfbPh3ESsHXFsLJ+ZY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785486083; c=relaxed/simple; bh=n7XcWZLi+N6xwdW9qyEpVL95OUSAEHLQUWD/V1XCOjY=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=ThgtjVA+UDTXV4HCRuNcNTCCVS4enPi8OoM9qAknOyUFAVhwS0pSyYVygJKkSSDOl5Kc2skIl4XSaSC9Luz9w1uLQ2oBOvLsjFnMg7TOtEcw5TjUBcV6JtSApqMQe2G6qTmamNXJy0/K5zIw5zV80PXqMBHJWOjpq6we4wnns9o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fg4VVrE3; 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="fg4VVrE3" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3892A1F000E9; Fri, 31 Jul 2026 08:21:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1785486081; bh=qHC477qArOlNm/AcMHN7rx8NH6hAu2Xu9sljZQvxWog=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=fg4VVrE39ljF+A+PKTJ1JY4PER3iY5qvsYglZ9FpCiW831AwUNUDM+iiCEE5AfL3M ub0wE8BhvYtT1SjQnSiOqT/rDRD5GAClUhV17eCIoihqINr5RilDVy0yv23Pq17Gxb TJxKY6mocIECAqM/uWo3o//1koYXdHqMXCKENObQm0ez8uc/Rgixjk4SzL/xkkut6U fi963OeYCfdKAOZajFsPCPiSlztA+RbCezz/00c4XbA+CQulczEDbj7Ry3NV8sB1do LGKFv3KfqGh8qbIkdNQFbqqa9iH+P0PHU51kQWJJVAg+ZKL3SXXJG0wTXyyCFQE9P9 JGaBkPsogMQlQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v8 3/6] phy: fsl-imx8mq-usb: add runtime PM support Reply-To: sashiko-reviews@lists.linux.dev To: "Xu Yang" Cc: vkoul@kernel.org, olteanv@gmail.com, imx@lists.linux.dev, neil.armstrong@linaro.org, linux-phy@lists.infradead.org, Frank.Li@kernel.org In-Reply-To: <20260731-imx8mp-usb-phy-improvement-v8-3-2ec8d6b3854d@nxp.com> References: <20260731-imx8mp-usb-phy-improvement-v8-0-2ec8d6b3854d@nxp.com> <20260731-imx8mp-usb-phy-improvement-v8-3-2ec8d6b3854d@nxp.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Fri, 31 Jul 2026 08:21:20 +0000 Message-Id: <20260731082121.3892A1F000E9@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 1 potential issue(= s) to consider: Pre-existing issues: - [Medium] TOCTOU race in tca_blk_typec_switch_set() and tca_blk_init() cau= ses hardware orientation desynchronization. -- --- Patch [3]: [PATCH v8 3/6] phy: fsl-imx8mq-usb: add runtime PM support -= -- commit 2932b088ad1c6fda6302f9ed3f5778ccb0da73b9 Author: Xu Yang phy: fsl-imx8mq-usb: add runtime PM support This commit adds runtime PM support to ensure the PHY clocks are properly=20 gated when the PHY is not in use, reducing power consumption. Clock management is shifted from the power_on and power_off callbacks into the new runtime PM callbacks. > diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/fre= escale/phy-fsl-imx8mq-usb.c > index 3a5788c609e1b..42de2cff4d5f3 100644 > --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c > +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c [ ... ] > @@ -136,17 +137,15 @@ 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; [Severity: Medium] This is a pre-existing issue, but I noticed a potential race condition here. Does this lockless equality check risk short-circuiting the orientation switch update if it races with a concurrent initialization? For instance, if tca_blk_init() is called concurrently during driver probe or resume, it evaluates tca->orientation locklessly and passes it by value: tca_blk_init() ... tca_blk_orientation_set(tca, tca->orientation); Could tca_blk_typec_switch_set() return 0 here, returning success to the Type-C core, while the hardware is simultaneously overwritten with a stale state by tca_blk_init()? This might cause the hardware orientation to become desynchronized from the Type-C subsystem's expected state, potentially misrouting USB 3.0 data lines. [ ... ] --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260731-imx8mp-usb= -phy-improvement-v8-0-2ec8d6b3854d@nxp.com?part=3D3