On Thu, Dec 14, 2023 at 04:04:49PM +0200, Dmitry Baryshkov wrote: > On Thu, 14 Dec 2023 at 16:01, Johan Hovold <johan@xxxxxxxxxx> wrote: > > On Thu, Dec 14, 2023 at 01:04:43PM +0200, Dmitry Baryshkov wrote: > > > On Thu, 14 Dec 2023 at 09:16, Johan Hovold <johan@xxxxxxxxxx> wrote: > > > > On Wed, Dec 13, 2023 at 01:06:43PM -0800, Rob Clark wrote: > > > > > From: Rob Clark <robdclark@xxxxxxxxxxxx> > > > > > > > > > > We need to bail out before adding/removing devices, if we are going > > > > > to -EPROBE_DEFER. Otherwise boot will get stuck forever at > > > > > deferred_probe_initcall(). > > > > > > > > Can please you expand on why this is a problem here in the commit > > > > message? > > > > > > > > The aux devices appear to be tore down correctly in the probe error > > > > paths so how exactly does that lead to deferred_probe_initcall() being > > > > stuck? This sounds like we may have a problem elsewhere which this patch > > > > is papering over. > > > > > > This is a known problem. Successful probes during the probe deferral > > > loop causes the whole loop to be reiterated. Creating child devices > > > usually results in a successful probe. Aso I thought that just > > > creating new device also causes a reprobe, but I can not find any > > > evidence now. > > > > This still needs to be described in the commit message. > > > > Only a successful probe should trigger a reprobe, and when the child > > devices are registered the parent is not yet on the deferred probe list. > > So something is not right or missing here. > > Child devices can be successfully probed, then the parent gets > -EPROBE_DEFER, removes children and then it goes on and on. So what? As I described above, the successful probe of the children should have nothing to do with whether the parent is reprobed. If that isn't the case, then explain how. Johan