summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@us.ibm.com>2007-01-26 14:08:49 -0800
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-01-27 10:06:34 -0600
commitdca84e4694419adf61ad052b1e5a50ac82726597 (patch)
tree91da52b843c901797865308fb3115f10ab156aab
parent21434966462d57145c861b43f6206d945ac57630 (diff)
downloadlinux-dca84e4694419adf61ad052b1e5a50ac82726597.tar.gz
linux-dca84e4694419adf61ad052b1e5a50ac82726597.tar.bz2
linux-dca84e4694419adf61ad052b1e5a50ac82726597.zip
[SCSI] scsi_error.c: Export some scsi_eh_* functions
Export a couple of functions from scsi_error that are needed to handle failed SCSI commands from the SAS EH. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> make exports GPL and Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r--drivers/scsi/scsi_error.c12
-rw-r--r--drivers/scsi/scsi_priv.h5
2 files changed, 12 insertions, 5 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 2ecb6ff42444..8e5011d13a18 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -672,8 +672,8 @@ EXPORT_SYMBOL(scsi_eh_finish_cmd);
* XXX: Long term this code should go away, but that needs an audit of
* all LLDDs first.
**/
-static int scsi_eh_get_sense(struct list_head *work_q,
- struct list_head *done_q)
+int scsi_eh_get_sense(struct list_head *work_q,
+ struct list_head *done_q)
{
struct scsi_cmnd *scmd, *next;
int rtn;
@@ -715,6 +715,7 @@ static int scsi_eh_get_sense(struct list_head *work_q,
return list_empty(work_q);
}
+EXPORT_SYMBOL_GPL(scsi_eh_get_sense);
/**
* scsi_try_to_abort_cmd - Ask host to abort a running command.
@@ -1411,9 +1412,9 @@ static void scsi_restart_operations(struct Scsi_Host *shost)
* @eh_done_q: list_head for processed commands.
*
**/
-static void scsi_eh_ready_devs(struct Scsi_Host *shost,
- struct list_head *work_q,
- struct list_head *done_q)
+void scsi_eh_ready_devs(struct Scsi_Host *shost,
+ struct list_head *work_q,
+ struct list_head *done_q)
{
if (!scsi_eh_stu(shost, work_q, done_q))
if (!scsi_eh_bus_device_reset(shost, work_q, done_q))
@@ -1421,6 +1422,7 @@ static void scsi_eh_ready_devs(struct Scsi_Host *shost,
if (!scsi_eh_host_reset(work_q, done_q))
scsi_eh_offline_sdevs(work_q, done_q);
}
+EXPORT_SYMBOL_GPL(scsi_eh_ready_devs);
/**
* scsi_eh_flush_done_q - finish processed commands or retry them.
diff --git a/drivers/scsi/scsi_priv.h b/drivers/scsi/scsi_priv.h
index d4faa19609d9..ee8efe849bf4 100644
--- a/drivers/scsi/scsi_priv.h
+++ b/drivers/scsi/scsi_priv.h
@@ -57,6 +57,11 @@ extern int scsi_error_handler(void *host);
extern int scsi_decide_disposition(struct scsi_cmnd *cmd);
extern void scsi_eh_wakeup(struct Scsi_Host *shost);
extern int scsi_eh_scmd_add(struct scsi_cmnd *, int);
+void scsi_eh_ready_devs(struct Scsi_Host *shost,
+ struct list_head *work_q,
+ struct list_head *done_q);
+int scsi_eh_get_sense(struct list_head *work_q,
+ struct list_head *done_q);
/* scsi_lib.c */
extern int scsi_maybe_unblock_host(struct scsi_device *sdev);