Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1583650

Re: [PATCH] driver core: unbind consumers before locking parent on device unbind

From Lucas Stach <l.stach@pengutronix.de>
Newsgroups linux.kernel
Subject Re: [PATCH] driver core: unbind consumers before locking parent on device unbind
Date 2017-02-17 19:50 +0100
Message-ID <tbVLs-7V6-13@gated-at.bofh.it> (permalink)
References <tbVBM-7Rv-21@gated-at.bofh.it> <tbVLs-7V6-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Am Freitag, den 17.02.2017, 10:42 -0800 schrieb Greg Kroah-Hartman:
> On Fri, Feb 17, 2017 at 07:36:29PM +0100, Lucas Stach wrote:
> > On forced unbind the parent lock is taken, as the device might be a USB
> > device. The device to be unbound might have active consumers, which
> > must be unbound before calling device_release_driver(), otherwise this
> > function might deadlock when trying to take the parent lock during
> > consumer unbind.
> 
> Really?  What type of device does this fail on today?

Regular devices on a MMIO bus. __device_release_driver() will take the
parent lock unconditionally when it unbinds consumer devices. So if the
forced unbound device is on the same bus as the consumer we will
deadlock right there.

Regards,
Lucas

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH] driver core: unbind consumers before locking parent on device unbind Lucas Stach <l.stach@pengutronix.de> - 2017-02-17 19:40 +0100
  Re: [PATCH] driver core: unbind consumers before locking parent on  device unbind Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-02-17 19:50 +0100
    Re: [PATCH] driver core: unbind consumers before locking parent on  device unbind Lucas Stach <l.stach@pengutronix.de> - 2017-02-17 19:50 +0100

csiph-web