[CPUFREQ] fix a lockdep warning
authorAmerigo Wang <amwang@redhat.com>
Thu, 4 Mar 2010 08:23:46 +0000 (03:23 -0500)
committerDave Jones <davej@redhat.com>
Wed, 31 Mar 2010 16:00:21 +0000 (12:00 -0400)
commit499bca9b6d3243f9278a1f5a22d00e67acdd844d
tree860ef8e80c4b68a10f06eb8a2fa19b43e608fade
parent2eaa9cfdf33b8d7fb7aff27792192e0019ae8fc6
[CPUFREQ] fix a lockdep warning

There is no need to do sysfs_remove_link() or kobject_put() etc.
when policy_rwsem_write is held, move them after releasing the lock.

This fixes the lockdep warning:

halt/4071 is trying to acquire lock:
 (s_active){++++.+}, at: [<c0000000001ef868>] .sysfs_addrm_finish+0x58/0xc0

but task is already holding lock:
 (&per_cpu(cpu_policy_rwsem, cpu)){+.+.+.}, at: [<c0000000004cd6ac>] .lock_policy_rwsem_write+0x84/0xf4

Reported-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: WANG Cong <amwang@redhat.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
drivers/cpufreq/cpufreq.c