On Wed, 21 Nov 2007, Rafael J. Wysocki wrote: > > Is it possible to unregister a driver on CPU_DOWN_PREPARE_FROZEN? > > No. In that case the suspend core is holding the device's mutex and your > attempt to unregister it will deadlock with it. > > Do you _have_ _to_ unregister the device at all? Why don't you just leave > it registered on CPU_DOWN_PREPARE_FROZEN? The CPU is not going away > physically in this case and it's _guaranteed_ that _cpu_up() will be called on > it as soon as the hibernation image is ready or we are back from suspend. This leaves the device registered if for some reason the number of CPUs after resuming from hibernation is smaller than the number of CPUs before hibernation. Of course, in theory that's never supposed to happen... Alan Stern