diff options
-rw-r--r-- | drivers/scsi/scsi_error.c | 12 | ||||
-rw-r--r-- | drivers/scsi/scsi_priv.h | 5 |
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); | |||
672 | * XXX: Long term this code should go away, but that needs an audit of | 672 | * XXX: Long term this code should go away, but that needs an audit of |
673 | * all LLDDs first. | 673 | * all LLDDs first. |
674 | **/ | 674 | **/ |
675 | static int scsi_eh_get_sense(struct list_head *work_q, | 675 | int scsi_eh_get_sense(struct list_head *work_q, |
676 | struct list_head *done_q) | 676 | struct list_head *done_q) |
677 | { | 677 | { |
678 | struct scsi_cmnd *scmd, *next; | 678 | struct scsi_cmnd *scmd, *next; |
679 | int rtn; | 679 | int rtn; |
@@ -715,6 +715,7 @@ static int scsi_eh_get_sense(struct list_head *work_q, | |||
715 | 715 | ||
716 | return list_empty(work_q); | 716 | return list_empty(work_q); |
717 | } | 717 | } |
718 | EXPORT_SYMBOL_GPL(scsi_eh_get_sense); | ||
718 | 719 | ||
719 | /** | 720 | /** |
720 | * scsi_try_to_abort_cmd - Ask host to abort a running command. | 721 | * 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) | |||
1411 | * @eh_done_q: list_head for processed commands. | 1412 | * @eh_done_q: list_head for processed commands. |
1412 | * | 1413 | * |
1413 | **/ | 1414 | **/ |
1414 | static void scsi_eh_ready_devs(struct Scsi_Host *shost, | 1415 | void scsi_eh_ready_devs(struct Scsi_Host *shost, |
1415 | struct list_head *work_q, | 1416 | struct list_head *work_q, |
1416 | struct list_head *done_q) | 1417 | struct list_head *done_q) |
1417 | { | 1418 | { |
1418 | if (!scsi_eh_stu(shost, work_q, done_q)) | 1419 | if (!scsi_eh_stu(shost, work_q, done_q)) |
1419 | if (!scsi_eh_bus_device_reset(shost, work_q, done_q)) | 1420 | 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, | |||
1421 | if (!scsi_eh_host_reset(work_q, done_q)) | 1422 | if (!scsi_eh_host_reset(work_q, done_q)) |
1422 | scsi_eh_offline_sdevs(work_q, done_q); | 1423 | scsi_eh_offline_sdevs(work_q, done_q); |
1423 | } | 1424 | } |
1425 | EXPORT_SYMBOL_GPL(scsi_eh_ready_devs); | ||
1424 | 1426 | ||
1425 | /** | 1427 | /** |
1426 | * scsi_eh_flush_done_q - finish processed commands or retry them. | 1428 | * 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); | |||
57 | extern int scsi_decide_disposition(struct scsi_cmnd *cmd); | 57 | extern int scsi_decide_disposition(struct scsi_cmnd *cmd); |
58 | extern void scsi_eh_wakeup(struct Scsi_Host *shost); | 58 | extern void scsi_eh_wakeup(struct Scsi_Host *shost); |
59 | extern int scsi_eh_scmd_add(struct scsi_cmnd *, int); | 59 | extern int scsi_eh_scmd_add(struct scsi_cmnd *, int); |
60 | void scsi_eh_ready_devs(struct Scsi_Host *shost, | ||
61 | struct list_head *work_q, | ||
62 | struct list_head *done_q); | ||
63 | int scsi_eh_get_sense(struct list_head *work_q, | ||
64 | struct list_head *done_q); | ||
60 | 65 | ||
61 | /* scsi_lib.c */ | 66 | /* scsi_lib.c */ |
62 | extern int scsi_maybe_unblock_host(struct scsi_device *sdev); | 67 | extern int scsi_maybe_unblock_host(struct scsi_device *sdev); |