On Wed, 2017-08-30 at 17:57 +0300, David Weinehall wrote: > On Tue, Aug 22, 2017 at 10:37:29AM +0300, Luca Coelho wrote: > > From: Luca Coelho <luciano.coelho@xxxxxxxxx> > > > > Work queues cannot be allocated when a mutex is held because the mutex > > may be in use and that would make it sleep. Doing so generates the > > following splat with 4.13+: > > > > [ 19.513298] ====================================================== > > [ 19.513429] WARNING: possible circular locking dependency detected > > [ 19.513557] 4.13.0-rc5+ #6 Not tainted > > [ 19.513638] ------------------------------------------------------ > > [ 19.513767] cpuhp/0/12 is trying to acquire lock: > > [ 19.513867] (&tz->lock){+.+.+.}, at: [<ffffffff924afebb>] thermal_zone_get_temp+0x5b/0xb0 > > [ 19.514047] > > [ 19.514047] but task is already holding lock: > > [ 19.514166] (cpuhp_state){+.+.+.}, at: [<ffffffff91cc4baa>] cpuhp_thread_fun+0x3a/0x210 > > [ 19.514338] > > [ 19.514338] which lock already depends on the new lock. > > > > This lock dependency already existed with previous kernel versions, > > but it was not detected until commit 49dfe2a67797 ("cpuhotplug: Link > > lock stacks for hotplug callbacks") was introduced. > > > > Reported-by: David Weinehall <david.weinehall@xxxxxxxxx> > > Reported-by: Jiri Kosina <jikos@xxxxxxxxxx> > > Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> > > With this patch I no longer get the lockdep warning, > and the driver seems to work just as well as before. Great! Thanks for reporting and testing, David! > Thanks! > > Tested-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Thanks for this too, but unfortunately it's too late to add it, since the patch is already in net tree. -- Cheers, Luca.