diff options
author | James Bottomley <jbottomley@parallels.com> | 2012-05-30 09:45:39 +0000 |
---|---|---|
committer | Willy Tarreau <w@1wt.eu> | 2012-10-07 23:37:52 +0200 |
commit | 24f65f8bd5877ae4bbfde0e61acf0f0b9ea3f204 (patch) | |
tree | 2c3551333968a60790a701f626d355eaa3d03fb7 /drivers | |
parent | 6dd99cb6c03ddf85b4d30b7c8432c76644312a89 (diff) |
SCSI: fix scsi_wait_scan
commit 1ff2f40305772b159a91c19590ee159d3a504afc upstream.
Commit c751085943362143f84346d274e0011419c84202
Author: Rafael J. Wysocki <rjw@sisk.pl>
Date: Sun Apr 12 20:06:56 2009 +0200
PM/Hibernate: Wait for SCSI devices scan to complete during resume
Broke the scsi_wait_scan module in 2.6.30. Apparently debian still uses it so
fix it and backport to stable before removing it in 3.6.
The breakage is caused because the function template in
include/scsi/scsi_scan.h is defined to be a nop unless SCSI is built in.
That means that in the modular case (which is every distro), the
scsi_wait_scan module does a simple async_synchronize_full() instead of
waiting for scans.
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/scsi_priv.h | 1 | ||||
-rw-r--r-- | drivers/scsi/scsi_wait_scan.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_priv.h b/drivers/scsi/scsi_priv.h index 1fbf7c78bba0..11c0085f3644 100644 --- a/drivers/scsi/scsi_priv.h +++ b/drivers/scsi/scsi_priv.h @@ -107,6 +107,7 @@ extern void scsi_exit_procfs(void); #endif /* CONFIG_PROC_FS */ /* scsi_scan.c */ +extern int scsi_complete_async_scans(void); extern int scsi_scan_host_selected(struct Scsi_Host *, unsigned int, unsigned int, unsigned int, int); extern void scsi_forget_host(struct Scsi_Host *); diff --git a/drivers/scsi/scsi_wait_scan.c b/drivers/scsi/scsi_wait_scan.c index 74708fcaf82f..5c22bdae6352 100644 --- a/drivers/scsi/scsi_wait_scan.c +++ b/drivers/scsi/scsi_wait_scan.c @@ -13,6 +13,7 @@ #include <linux/module.h> #include <linux/device.h> #include <scsi/scsi_scan.h> +#include "scsi_priv.h" static int __init wait_scan_init(void) { |