On Sat, May 04, 2024 at 05:15:45PM +0200, Greg Kroah-Hartman wrote: > 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? Oh wait, I need Johan's patches applied first, I was waiting for that to happen, so I'll take this next week when that gets into Linus's tree, sorry for the delay. greg k-h