[PATCH] drivers/base: use a worker for sysfs unbind

Daniel Vetter daniel at ffwll.ch
Mon Dec 17 19:48:04 UTC 2018


On Thu, Dec 13, 2018 at 07:09:15PM +0100, Rafael J. Wysocki wrote:
> On Thu, Dec 13, 2018 at 5:25 PM Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> >
> > On Thu, Dec 13, 2018 at 5:18 PM Rafael J. Wysocki <rafael at kernel.org> wrote:
> > >
> > > On Thu, Dec 13, 2018 at 1:36 PM Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> 
> [cut]
> 
> > > > I can do the old code exactly, but afaict the non-NULL parent just
> > > > takes care of the parent bus locking for us, instead of hand-rolling
> > > > it in the caller. But if I missed something, I can easily undo that
> > > > part.
> > >
> > > It is different if device links are present, but I'm not worried about
> > > that case honestly. :-)
> >
> > What would change with device links? We have some cleanup plans to
> > remove our usage for early/late s/r hooks with a device link, to make
> > sure i915 resumes before snd_hda_intel. Digging more into the code I
> > only see the temporary dropping of the parent's device_lock, but I
> > have no idea what that even implies ...
> 
> That's just it (which is why I said I was not worried).
> 
> Running device_links_unbind_consumers() with the parent lock held may
> deadlock if another child of the same parent also is a consumer of the
> current device (which really is a corner case), but the current code
> has this problem - it goes away with your change.
> 
> But dev->bus->need_parent_lock checks are missing in there AFAICS, let
> me cut a patch to fix that.

With your patch before this one, are you ok with mine? Or want me to
respin with a different flavour?

btw threading somehow broke apart, Chris Wilson r-b stamped this one on
intel-gfx:

https://patchwork.freedesktop.org/patch/267220/

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

Thanks, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list