* [PATCH] phy: broadcom: use devm_clk_get() in brcm_usb_phy_dvr_init()
@ 2026-11-03 10:42 Wentao Liang
2026-11-03 11:10 ` Krzysztof Kozlowski
0 siblings, 1 reply; 2+ messages in thread
From: Wentao Liang @ 2026-11-03 10:42 UTC (permalink / raw)
To: Justin Chen, Al Cooper, Broadcom internal kernel review list,
Vinod Koul, Neil Armstrong, Manivannan Sadhasivam
Cc: linux-kernel, linux-phy, Wentao Liang, stable
brcm_usb_phy_dvr_init() obtains the USB 2.0, USB 3.0 and suspend
clocks with of_clk_get_by_name() and clk_get(). Both take a reference
on the clock that the driver never releases: the error paths after the
lookups return without clk_put(), and brcm_usb_phy_remove() only
unregisters the sysfs group and the PM notifier. clk_prepare_enable()
and clk_disable_unprepare() only change the prepare/enable counts and
do not drop the reference.
Use devm_clk_get() so that the references are dropped automatically on
probe failure and driver detach, and drop the now unused device node
argument.
Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
Cc: stable@vger.kernel.org
Assisted-by: DeepSeek-V4.1-Flash and OpenAI Codex
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
drivers/phy/broadcom/phy-brcm-usb.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/phy/broadcom/phy-brcm-usb.c b/drivers/phy/broadcom/phy-brcm-usb.c
index e606db489698..c0cb701e419a 100644
--- a/drivers/phy/broadcom/phy-brcm-usb.c
+++ b/drivers/phy/broadcom/phy-brcm-usb.c
@@ -401,14 +401,13 @@ static int brcm_usb_get_regs(struct platform_device *pdev,
}
static int brcm_usb_phy_dvr_init(struct platform_device *pdev,
- struct brcm_usb_phy_data *priv,
- struct device_node *dn)
+ struct brcm_usb_phy_data *priv)
{
struct device *dev = &pdev->dev;
struct phy *gphy = NULL;
int err;
- priv->usb_20_clk = of_clk_get_by_name(dn, "sw_usb");
+ priv->usb_20_clk = devm_clk_get(dev, "sw_usb");
if (IS_ERR(priv->usb_20_clk)) {
if (PTR_ERR(priv->usb_20_clk) == -EPROBE_DEFER)
return -EPROBE_DEFER;
@@ -440,7 +439,7 @@ static int brcm_usb_phy_dvr_init(struct platform_device *pdev,
priv->phys[BRCM_USB_PHY_3_0].id = BRCM_USB_PHY_3_0;
phy_set_drvdata(gphy, &priv->phys[BRCM_USB_PHY_3_0]);
- priv->usb_30_clk = of_clk_get_by_name(dn, "sw_usb3");
+ priv->usb_30_clk = devm_clk_get(dev, "sw_usb3");
if (IS_ERR(priv->usb_30_clk)) {
if (PTR_ERR(priv->usb_30_clk) == -EPROBE_DEFER)
return -EPROBE_DEFER;
@@ -453,7 +452,7 @@ static int brcm_usb_phy_dvr_init(struct platform_device *pdev,
return err;
}
- priv->suspend_clk = clk_get(dev, "usb0_freerun");
+ priv->suspend_clk = devm_clk_get(dev, "usb0_freerun");
if (IS_ERR(priv->suspend_clk)) {
if (PTR_ERR(priv->suspend_clk) == -EPROBE_DEFER)
return -EPROBE_DEFER;
@@ -542,7 +541,7 @@ static int brcm_usb_phy_probe(struct platform_device *pdev)
return -EINVAL;
}
- err = brcm_usb_phy_dvr_init(pdev, priv, dn);
+ err = brcm_usb_phy_dvr_init(pdev, priv);
if (err)
return err;
--
2.34.1
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] phy: broadcom: use devm_clk_get() in brcm_usb_phy_dvr_init()
2026-11-03 10:42 [PATCH] phy: broadcom: use devm_clk_get() in brcm_usb_phy_dvr_init() Wentao Liang
@ 2026-11-03 11:10 ` Krzysztof Kozlowski
0 siblings, 0 replies; 2+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-03 11:10 UTC (permalink / raw)
To: Wentao Liang
Cc: Broadcom internal kernel review list, Vinod Koul,
Manivannan Sadhasivam, stable, Al Cooper, linux-kernel,
linux-phy, Neil Armstrong, Justin Chen
On Tue, 03 Nov 2026 10:42:40 +0000, Wentao Liang wrote:
> brcm_usb_phy_dvr_init() obtains the USB 2.0, USB 3.0 and suspend
> clocks with of_clk_get_by_name() and clk_get(). Both take a reference
> on the clock that the driver never releases: the error paths after the
> lookups return without clk_put(), and brcm_usb_phy_remove() only
> unregisters the sysfs group and the PM notifier. clk_prepare_enable()
> and clk_disable_unprepare() only change the prepare/enable counts and
> do not drop the reference.
>
> Use devm_clk_get() so that the references are dropped automatically on
> probe failure and driver detach, and drop the now unused device node
> argument.
>
> Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
> Cc: stable@vger.kernel.org
> Assisted-by: DeepSeek-V4.1-Flash and OpenAI Codex
> Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
> ---
> drivers/phy/broadcom/phy-brcm-usb.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
Multiple things here:
1. Your team ignored completely previous feedback. Multiple times.
2. You use multiple identities with this email address, thus I doubt that we
speak with an actual person.
3. Your bot does not even bother running checkpatch, right?
4. Nothing of this was reproduced nor tested.
5. Finally, the same feedback:
You sent multiple independent patches, to multiple independent
subsystems. The amount of these patches clearly suggest this was
AI generated and most likely not tested.
More importantly, you sent all this work without properly organizing
relevant patches into patchsets. This makes reviewing difficult
and might cause multiple reviewers to address the same issue.
Replying to the entire set is impossible and requires handling each
patch independently, instead of applying or discarding the set.
Maintainers also won't see the bigger picture of your work. Quite
worrying.
This is on the verge of hostile patch: bomb us with so many
contributions, we won't be able to handle them in efficient manner,
like responding ONCE to ask you to slow down. Considering all this
is untested and LLM generated, I have even more doubts whether this
should be considered for review.
Please read kernel documentation BEFORE posting more work. It will
explain you how to identify subsystems, how to organize your work per
subsystem (so a patchset grouping multiple patches with a short cover
letter), how to document the issue discovery method and what was
or was not tested.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-03 11:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-03 10:42 [PATCH] phy: broadcom: use devm_clk_get() in brcm_usb_phy_dvr_init() Wentao Liang
2026-11-03 11:10 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®