linux/kernel/power
Johannes Berg 60a0d23386 hibernate: fix lockdep report
Lockdep reports a circular locking dependency in the hibernate code
because
 - during system boot hibernate code (from an initcall) locks pm_mutex
   and then a sysfs buffer mutex via name_to_dev_t
 - during regular operation hibernate code locks pm_mutex under a
   sysfs buffer mutex because it's called from sysfs methods.

The deadlock can never happen because during initcall invocation nothing
can write to sysfs yet. This removes the lockdep report by marking the
initcall locking as being in a different class.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-14 18:45:43 -08:00
..
console.c [PATCH] swsusp: fix suspend when console is in VT_AUTO+KD_GRAPHICS mode 2007-03-16 19:25:05 -07:00
disk.c hibernate: fix lockdep report 2007-11-14 18:45:43 -08:00
Kconfig serial: turn serial console suspend a boot rather than compile time option 2007-10-18 14:37:19 -07:00
main.c freezer: do not sync filesystems from freeze_processes 2007-10-18 14:37:18 -07:00
Makefile Introduce CONFIG_SUSPEND for suspend-to-Ram and standby 2007-07-29 16:45:38 -07:00
pm.c [PATCH] remove kernel/power/pm.c:pm_unregister_all() 2006-07-12 16:09:08 -07:00
power.h Hibernation: Check if ACPI is enabled during restore in the right place 2007-10-18 14:37:20 -07:00
poweroff.c WorkStruct: Pass the work_struct pointer instead of context data 2006-11-22 14:55:48 +00:00
process.c freezer: measure freezing time 2007-10-18 14:37:19 -07:00
snapshot.c trivial copy_data_pages() tidy up 2007-10-20 02:26:04 +02:00
swap.c swsusp: introduce restore platform operations 2007-07-19 10:04:42 -07:00
swsusp.c Hibernation: Check if ACPI is enabled during restore in the right place 2007-10-18 14:37:20 -07:00
user.c freezer: do not sync filesystems from freeze_processes 2007-10-18 14:37:18 -07:00