From: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bartosz Golaszewski <brgl@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Wasim Nazir <wasim.nazir@oss.qualcomm.com>,
Mohd Ayaan Anwar <quic_mohdayaa@quicinc.com>,
Umang Chheda <umang.chheda@oss.qualcomm.com>,
Yijie Yang <quic_yijiyang@quicinc.com>
Cc: Loic Poulain <loic.poulain@oss.qualcomm.com>,
linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 0/6] Fix regulator voting for the Qualcomm SGMII SerDes PHY
Date: Tue, 4 Aug 2026 14:06:30 +0530 [thread overview]
Message-ID: <anGkjjDJRRMVT7ds@oss.qualcomm.com> (raw)
In-Reply-To: <20260804-b4-sgmiieth_serdes_regulator-v2-0-c4bc688177dd@oss.qualcomm.com>
On Tue, Aug 04, 2026 at 12:57:56AM +0530, Mohd Ayaan Anwar wrote:
> This series corrects this by:
>
> 1. Fixing the DT binding to describe both named supplies.
> 2. Fixing all affected board DTS to use the correct vdda-0p9-supply
> and vdda-1p2-supply properties.
> 3. Adding bulk regulator support to the PHY driver so it enables both
> supplies and sets the proper current loads.
>
> The patches are sequenced to maintain bisectability. With the driver
> change, the PHY framework will continue to vote for the regulator
> described by 'phy-supply'. The DT changes which follow then remove
> 'phy-supply' in favour of 'vdda-0p9' and 'vdda-1p2'.
>
Sashiko raises some valid concerns [0]:
--
1. This isn't a bug introduced by this patch, but I noticed that
another file in the tree, monaco-monza-som.dtsi, still has the exact
same configuration you are fixing here. It retains the deprecated
phy-supply property and lacks the required 0.9V rail.
Should monaco-monza-som.dtsi be updated similarly in this patch or as a
follow-up in this series?
2. This is a pre-existing issue, but does registering the PHY provider
before setting the driver data create a race condition here?
Looking at the end of qcom_dwmac_sgmii_phy_probe():
provider = devm_of_phy_provider_register(dev,
of_phy_simple_xlate);
if (IS_ERR(provider))
return PTR_ERR(provider);
phy_set_drvdata(phy, data);
By calling devm_of_phy_provider_register() first, the PHY is made
available to consumers before phy_set_drvdata() initializes the private
data. If a consumer (such as a deferred probe workqueue) concurrently
looks up the PHY and immediately invokes an operation like
phy_power_on(), could qcom_dwmac_sgmii_phy_power_on() read a NULL
driver data pointer and cause a NULL pointer dereference when
attempting to access data->vregs?
--
For 1., I can either post a follow-up patch or add it as part of v3.
For 2., this is a genuine pre-existing bug. I will raise a separate
patch to move phy_set_drvdata() before devm_of_phy_provider_register()
to close the race window.
Ayaan
[0] https://sashiko.dev/#/patchset/20260804-b4-sgmiieth_serdes_regulator-v2-0-c4bc688177dd@oss.qualcomm.com
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
WARNING: multiple messages have this Message-ID (diff)
From: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bartosz Golaszewski <brgl@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Wasim Nazir <wasim.nazir@oss.qualcomm.com>,
Mohd Ayaan Anwar <quic_mohdayaa@quicinc.com>,
Umang Chheda <umang.chheda@oss.qualcomm.com>,
Yijie Yang <quic_yijiyang@quicinc.com>
Cc: Loic Poulain <loic.poulain@oss.qualcomm.com>,
linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 0/6] Fix regulator voting for the Qualcomm SGMII SerDes PHY
Date: Tue, 4 Aug 2026 14:06:30 +0530 [thread overview]
Message-ID: <anGkjjDJRRMVT7ds@oss.qualcomm.com> (raw)
In-Reply-To: <20260804-b4-sgmiieth_serdes_regulator-v2-0-c4bc688177dd@oss.qualcomm.com>
On Tue, Aug 04, 2026 at 12:57:56AM +0530, Mohd Ayaan Anwar wrote:
> This series corrects this by:
>
> 1. Fixing the DT binding to describe both named supplies.
> 2. Fixing all affected board DTS to use the correct vdda-0p9-supply
> and vdda-1p2-supply properties.
> 3. Adding bulk regulator support to the PHY driver so it enables both
> supplies and sets the proper current loads.
>
> The patches are sequenced to maintain bisectability. With the driver
> change, the PHY framework will continue to vote for the regulator
> described by 'phy-supply'. The DT changes which follow then remove
> 'phy-supply' in favour of 'vdda-0p9' and 'vdda-1p2'.
>
Sashiko raises some valid concerns [0]:
--
1. This isn't a bug introduced by this patch, but I noticed that
another file in the tree, monaco-monza-som.dtsi, still has the exact
same configuration you are fixing here. It retains the deprecated
phy-supply property and lacks the required 0.9V rail.
Should monaco-monza-som.dtsi be updated similarly in this patch or as a
follow-up in this series?
2. This is a pre-existing issue, but does registering the PHY provider
before setting the driver data create a race condition here?
Looking at the end of qcom_dwmac_sgmii_phy_probe():
provider = devm_of_phy_provider_register(dev,
of_phy_simple_xlate);
if (IS_ERR(provider))
return PTR_ERR(provider);
phy_set_drvdata(phy, data);
By calling devm_of_phy_provider_register() first, the PHY is made
available to consumers before phy_set_drvdata() initializes the private
data. If a consumer (such as a deferred probe workqueue) concurrently
looks up the PHY and immediately invokes an operation like
phy_power_on(), could qcom_dwmac_sgmii_phy_power_on() read a NULL
driver data pointer and cause a NULL pointer dereference when
attempting to access data->vregs?
--
For 1., I can either post a follow-up patch or add it as part of v3.
For 2., this is a genuine pre-existing bug. I will raise a separate
patch to move phy_set_drvdata() before devm_of_phy_provider_register()
to close the race window.
Ayaan
[0] https://sashiko.dev/#/patchset/20260804-b4-sgmiieth_serdes_regulator-v2-0-c4bc688177dd@oss.qualcomm.com
next prev parent reply other threads:[~2026-08-04 8:36 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-03 19:27 [PATCH v2 0/6] Fix regulator voting for the Qualcomm SGMII SerDes PHY Mohd Ayaan Anwar
2026-08-03 19:27 ` Mohd Ayaan Anwar
2026-08-03 19:27 ` [PATCH v2 1/6] dt-bindings: phy: qcom,sa8775p-dwmac-sgmii-phy: add named voltage rails and deprecate phy-supply Mohd Ayaan Anwar
2026-08-03 19:27 ` Mohd Ayaan Anwar
2026-08-03 19:36 ` sashiko-bot
2026-08-03 19:36 ` sashiko-bot
2026-08-04 6:19 ` Krzysztof Kozlowski
2026-08-04 6:19 ` Krzysztof Kozlowski
2026-08-10 11:13 ` Bartosz Golaszewski
2026-08-10 11:13 ` Bartosz Golaszewski
2026-08-03 19:27 ` [PATCH v2 2/6] phy: qcom: sgmii-eth: vote for both voltage rails with correct current loads Mohd Ayaan Anwar
2026-08-03 19:27 ` Mohd Ayaan Anwar
2026-08-03 19:38 ` sashiko-bot
2026-08-03 19:38 ` sashiko-bot
2026-08-10 11:14 ` Bartosz Golaszewski
2026-08-10 11:14 ` Bartosz Golaszewski
2026-08-03 19:27 ` [PATCH v2 3/6] arm64: dts: qcom: lemans-evk: fix SerDes PHY regulator supplies Mohd Ayaan Anwar
2026-08-03 19:27 ` Mohd Ayaan Anwar
2026-08-03 19:37 ` sashiko-bot
2026-08-03 19:37 ` sashiko-bot
2026-08-10 11:15 ` Bartosz Golaszewski
2026-08-10 11:15 ` Bartosz Golaszewski
2026-08-03 19:28 ` [PATCH v2 4/6] arm64: dts: qcom: lemans-ride-common: " Mohd Ayaan Anwar
2026-08-03 19:28 ` Mohd Ayaan Anwar
2026-08-03 19:43 ` sashiko-bot
2026-08-03 19:43 ` sashiko-bot
2026-08-10 11:15 ` Bartosz Golaszewski
2026-08-10 11:15 ` Bartosz Golaszewski
2026-08-03 19:28 ` [PATCH v2 5/6] arm64: dts: qcom: monaco-evk: " Mohd Ayaan Anwar
2026-08-03 19:28 ` Mohd Ayaan Anwar
2026-08-03 19:47 ` sashiko-bot
2026-08-03 19:47 ` sashiko-bot
2026-08-10 11:15 ` Bartosz Golaszewski
2026-08-10 11:15 ` Bartosz Golaszewski
2026-08-03 19:28 ` [PATCH v2 6/6] arm64: dts: qcom: qcs8300-ride: " Mohd Ayaan Anwar
2026-08-03 19:28 ` Mohd Ayaan Anwar
2026-08-03 19:36 ` sashiko-bot
2026-08-03 19:36 ` sashiko-bot
2026-08-10 11:16 ` Bartosz Golaszewski
2026-08-10 11:16 ` Bartosz Golaszewski
2026-08-04 8:36 ` Mohd Ayaan Anwar [this message]
2026-08-04 8:36 ` [PATCH v2 0/6] Fix regulator voting for the Qualcomm SGMII SerDes PHY Mohd Ayaan Anwar
2026-08-07 4:59 ` Manivannan Sadhasivam
2026-08-07 4:59 ` Manivannan Sadhasivam
2026-08-07 12:33 ` (subset) " Vinod Koul
2026-08-07 12:33 ` Vinod Koul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=anGkjjDJRRMVT7ds@oss.qualcomm.com \
--to=mohd.anwar@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=brgl@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=loic.poulain@oss.qualcomm.com \
--cc=neil.armstrong@linaro.org \
--cc=quic_mohdayaa@quicinc.com \
--cc=quic_yijiyang@quicinc.com \
--cc=robh@kernel.org \
--cc=umang.chheda@oss.qualcomm.com \
--cc=vkoul@kernel.org \
--cc=wasim.nazir@oss.qualcomm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.