Re: [PATCH v2] usb: typec: qcom-pmic-typec: split HPD bridge alloc and registration
From: Johan Hovold
Date: Mon Apr 08 2024 - 03:11:48 EST
On Mon, Apr 08, 2024 at 04:06:40AM +0300, Dmitry Baryshkov wrote:
> If a probe function returns -EPROBE_DEFER after creating another device
> there is a change of ending up in a probe deferral loop, (see commit
> fbc35b45f9f6 ("Add documentation on meaning of -EPROBE_DEFER").
>
> In order to prevent such probe-defer loops caused by qcom-pmic-typec
> driver, use the API added by Johan Hovold and move HPD bridge
> registration to the end of the probe function.
You should be more specific here: which function called after
qcom_pmic_typec_probe() can trigger a probe deferral?
I doubt that applies to tcpm->port_start() and tcpm->pdphy_start() in
which case the bridge should be added before those calls unless there
are other reasons for not doing so, which then also should be mentioned.
I suspect the trouble is with tcpm_register_port(), but please spell
that out and mention in which scenarios that function may return
-EPROBE_DEFER.
Johan