[PATCH v6 4/5] phy: qcom: m31-eusb2: Set phy type to EUSB2
sashiko-bot at kernel.org
sashiko-bot at kernel.org
Wed Aug 26 10:10:09 PDT 2026
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] m31eusb2_phy_init fails to propagate error codes and always returns 0.
--
commit a59148cf39dc0afc1f852eb07be581b93aa157f1
Author: Krishna Kurapati <krishna.kurapati at oss.qualcomm.com>
phy: qcom: m31-eusb2: Set phy type to EUSB2
USB controllers like DWC3 are agnostic of the kind of phy (USB2/eUSB2)
connected to it. Set the phy type to EUSB2 to let the controller know
the phy type when queried during its probe.
> diff --git a/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c b/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
> index 0bec8657149c9..7e6b16b6952b5 100644
> --- a/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
> +++ b/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
[ ... ]
[Severity: High]
This isn't a bug introduced by this patch, but m31eusb2_phy_init() fails to
propagate error codes and always returns 0.
If clk_prepare_enable() or phy_init(phy->repeater) fails, the code jumps
to the disable_repeater or disable_vreg labels:
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c:m31eusb2_phy_init() {
...
disable_repeater:
phy_exit(phy->repeater);
disable_vreg:
regulator_bulk_disable(M31_EUSB_NUM_VREGS, phy->vregs);
return 0;
}
Should this return the trapped error code ret instead of 0?
If a consumer driver like DWC3 receives a success status but the PHY
initialization actually failed, could it attempt to access an unpowered or
unclocked PHY?
Additionally, failure codes from hardware initialization functions like
m31eusb2_phy_write_sequence() are ignored:
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c:m31eusb2_phy_init() {
...
reset_control_deassert(phy->reset);
m31eusb2_phy_write_sequence(phy, data->setup_seq, data->setup_seq_nregs);
...
}
Should the return value of m31eusb2_phy_write_sequence() be checked and
propagated as well?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260826-eusb2-interrupt-v6-v6-0-ae2601cfa80c@oss.qualcomm.com?part=4
More information about the linux-phy
mailing list