[SCSI] check runtime PM status in system PM
authorLin Ming <ming.m.lin@intel.com>
Mon, 5 Dec 2011 01:20:25 +0000 (09:20 +0800)
committerJeff Garzik <jgarzik@redhat.com>
Mon, 9 Jan 2012 00:14:57 +0000 (19:14 -0500)
commit286405167e815adc4ae0132214246a350b0208bc
tree13744893a2612c753930220f93de450003900969
parentae0751ffc77e7f21629970fdab5528c573e637f8
[SCSI] check runtime PM status in system PM

The only high-level SCSI driver that currently implements runtime PM is
sd, and sd treats runtime suspend exactly the same as the SUSPEND and
HIBERNATE stages of system sleep, but not the same as the FREEZE stage.

Therefore, when entering the SUSPEND or HIBERNATE stages of system
sleep, we can skip the callback to the driver if the device is already
in runtime suspend.  When entering the FREEZE stage, however, we should
first issue a runtime resume.  The overhead of doing this is
negligible, because a suspended drive would be spun up during the THAW
stage of hibernation anyway.

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/scsi/scsi_pm.c