PM: Prevent runtime suspend during system resume
authorAlan Stern <stern@rowland.harvard.edu>
Wed, 19 Sep 2012 19:59:02 +0000 (21:59 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Wed, 19 Sep 2012 19:59:02 +0000 (21:59 +0200)
commit88d26136a256576e444db312179e17af6dd0ea87
tree21bd82f6880a91708549512fdb42bc4c79b4ea98
parent997a031107ec962967ce36db9bc500f1fad491c1
PM: Prevent runtime suspend during system resume

This patch (as1591) moves the pm_runtime_get_noresume() and
pm_runtime_put_sync() calls from __device_suspend() and
device_resume() to device_prepare() and device_complete() in the PM
core.

The reason for doing this is to make sure that parent devices remain
at full power (i.e., don't go into runtime suspend) while their
children are being resumed from a system sleep.

The PCI core already contained equivalent code to serve the same
purpose.  The patch removes the duplicated code, since it is no longer
needed.  One of the comments from the PCI core gets moved into the PM
core, and a second comment is added to explain whe the _get_noresume
and _put_sync calls are present.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
drivers/base/power/main.c
drivers/pci/pci-driver.c