[PATCH] Fix cpufreq vs hotplug lockdep recursion.
authorDave Jones <davej@redhat.com>
Fri, 7 Jul 2006 16:31:27 +0000 (12:31 -0400)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 7 Jul 2006 16:46:45 +0000 (09:46 -0700)
commita496e25dfb25493a57bcee5d66875d6ff80a9093
treee0dc7f0f8151f6cf0ddc9ef987a6750e4e4a9ea3
parent120bda20c6f64b32e8bfbdd7b34feafaa5f5332e
[PATCH] Fix cpufreq vs hotplug lockdep recursion.

[ There's some not quite baked bits in cpufreq-git right now
  so sending this on as a patch instead ]

On Thu, 2006-07-06 at 07:58 -0700, Tom London wrote:

> After installing .2356 I get this each time I boot:
> =======================================================
> [ INFO: possible circular locking dependency detected ]
> -------------------------------------------------------
> S06cpuspeed/1620 is trying to acquire lock:
>  (dbs_mutex){--..}, at: [<c060d6bb>] mutex_lock+0x21/0x24
>
> but task is already holding lock:
>  (cpucontrol){--..}, at: [<c060d6bb>] mutex_lock+0x21/0x24
>
> which lock already depends on the new lock.
>

make sure the cpu hotplug recursive mutex (yuck) is taken early in the
cpufreq codepaths to avoid a AB-BA deadlock.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/cpufreq/cpufreq.c