PM/Hibernate: Wait for SCSI devices scan to complete during resume

There is a race between resume from hibernation and the asynchronous
scanning of SCSI devices and to prevent it from happening we need to
call scsi_complete_async_scans() during resume from hibernation.

In addition, if the resume from hibernation is userland-driven, it's
better to wait for all device probes in the kernel to complete before
attempting to open the resume device.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Rafael J. Wysocki
2009-04-12 20:06:56 +02:00
committed by Linus Torvalds
parent 7b11428d37
commit c751085943
5 changed files with 29 additions and 4 deletions

11
include/scsi/scsi_scan.h Normal file
View File

@@ -0,0 +1,11 @@
#ifndef _SCSI_SCSI_SCAN_H
#define _SCSI_SCSI_SCAN_H
#ifdef CONFIG_SCSI
/* drivers/scsi/scsi_scan.c */
extern int scsi_complete_async_scans(void);
#else
static inline int scsi_complete_async_scans(void) { return 0; }
#endif
#endif /* _SCSI_SCSI_SCAN_H */