Thread (1 message) 1 message, 1 author, 2008-01-05

Re: [PATCH 1/4] PM: Introduce destroy_suspended_device()

From: Rafael J. Wysocki <hidden>
Date: 2008-01-05 11:55:50

On Saturday, 5 of January 2008, Alan Stern wrote:
On Fri, 4 Jan 2008, Rafael J. Wysocki wrote:
quoted
I have rebased gregkh-driver-pm-acquire-device-locks-prior-to-suspending.patch
on top of the $subject series, the result is appended.  It has only been
compilation tested for now, but I'll be testing it for the next couple of days.

Please review.
I would prefer it if you could also merge in this patch at the same 
time:

https://lists.linux-foundation.org/pipermail/linux-pm/2007-December/015921.html
Makes sense, I will.
quoted
+void device_resume(void)
 {
-	sysdev_resume();
-	dpm_power_up();
+	might_sleep();
+	dpm_resume();
+	unlock_all_devices();
+	unregister_dropped_devices();
+	up_write(&pm_sleep_rwsem);
 }
With the aforementioned patch merged in, this will generate a 
warning for each dropped device.  The call to 
unregister_dropped_devices() should come after the up_write().

You might also consider adding a call to unregister_dropped_devices()  
in the error path of device_suspend() -- in theory even an aborted 
suspend might cause a device to malfunction.
In fact it already works like this, since device_suspend() now calls the entire
device_resume() on error.
Otherwise this looks okay.
However, I think we don't need to wait with unregistering suspended devices
until after the other ones are resumed.  We only need a special function for
unregistering suspended devices that will make the PM core release the device's
semaphore before unregistering it.

I have already sent a replacemet for
gregkh-driver-pm-acquire-device-locks-prior-to-suspending.patch that includes
some code from the $subject patch and implements the above idea:

http://lkml.org/lkml/2008/1/4/278

I'm going to merge it with your patch at:
https://lists.linux-foundation.org/pipermail/linux-pm/2007-December/015921.html
and with patches [2/4] and [4/4] from the $subject series.  I'll post the
result for a review later today.

Thanks,
Rafael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help