[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