On Sat, May 04, 2024 at 05:23:20PM +0300, Dmitry Baryshkov wrote: > On Wed, 24 Apr 2024 at 05:16, Dmitry Baryshkov > <dmitry.baryshkov@xxxxxxxxxx> 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 case > > of the qcom-pmic-typec driver the tcpm_register_port() function looks up > > external resources (USB role switch and inherently via called > > typec_register_port() USB-C muxes, switches and retimers). > > > > 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. > > > > The devm_drm_dp_hpd_bridge_add() is called at the end of the probe > > function after all TCPM start functions. This is done as a way to > > overcome a different problem, the DRM subsystem can not properly cope > > with the DRM bridges being destroyed once the bridge is attached. Having > > this function call at the end of the probe function prevents possible > > DRM bridge device creation followed by destruction in case one of the > > TCPM start functions returns an error. > > > > Reported-by: Caleb Connolly <caleb.connolly@xxxxxxxxxx> > > Acked-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > > --- > > Dependency: https://lore.kernel.org/lkml/20240418145730.4605-2-johan+linaro@xxxxxxxxxx/ > > --- > > Changes in v4: > > - Rebased on top of Johan's patches > > - Link to v3: https://lore.kernel.org/r/20240416-qc-pmic-typec-hpd-split-v3-1-fd071e3191a1@xxxxxxxxxx > > > > Changes in v3: > > - Updated commit message to explain my decisions (Johan). > > - Link to v2: https://lore.kernel.org/r/20240408-qc-pmic-typec-hpd-split-v2-1-1704f5321b73@xxxxxxxxxx > > > > Changes in v2: > > - Fix commit message (Bryan) > > - Link to v1: https://lore.kernel.org/r/20240405-qc-pmic-typec-hpd-split-v1-1-363daafb3c36@xxxxxxxxxx > > --- > > drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 10 ++++++++-- > > 1 file changed, 8 insertions(+), 2 deletions(-) > > A stupid gracious ping. It would be nice to fix the issue in 6.10 Is this a regression? If so, what commit does it fix? Or has it always just not worked? thanks, greg k-h