PM: Allow SCSI devices to suspend/resume asynchronously
authorRafael J. Wysocki <rjw@sisk.pl>
Mon, 8 Feb 2010 18:18:26 +0000 (19:18 +0100)
committerRafael J. Wysocki <rjw@sisk.pl>
Fri, 26 Feb 2010 19:39:12 +0000 (20:39 +0100)
commit4cb077d93a57fb8bb64c277ec4ce637823cd76f4
tree2035b21282c5746c869065cf917ef06c1c4c7848
parent927bc9165d3cd01054b472f9b25d91a8707209c8
PM: Allow SCSI devices to suspend/resume asynchronously

Set power.async_suspend for all SCSI devices, targets and hosts, so
that they can be suspended and resumed in parallel with the main
suspend/resume thread and possibly with other devices they don't
depend on in a known way (i.e. devices which are not their parents or
children).

The power.async_suspend flag is also set for devices that don't have
suspend or resume callbacks, because otherwise they would make the
main suspend/resume thread wait for their "asynchronous" children
(during suspend) or parents (during resume), effectively negating the
possible gains from executing these devices' suspend and resume
callbacks asynchronously.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
drivers/scsi/hosts.c
drivers/scsi/scsi_sysfs.c