]> git.baikalelectronics.ru Git - kernel.git/commit
hibernate: fix lockdep report
authorJohannes Berg <johannes@sipsolutions.net>
Thu, 15 Nov 2007 01:00:16 +0000 (17:00 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 15 Nov 2007 02:45:43 +0000 (18:45 -0800)
commit9f966d591e3db6b6b980a8f4b09833ab39f58266
treee80067693fe0600ae8cbb0b550b84ab22f43c4fe
parent933bbdebefc94ea992fe34eb3d29829d88261560
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>
kernel/power/disk.c