Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dca84e46 authored by Darrick J. Wong's avatar Darrick J. Wong Committed by James Bottomley
Browse files

[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: default avatarDarrick J. Wong <djwong@us.ibm.com>

make exports GPL and
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 21434966
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -672,7 +672,7 @@ 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,
int scsi_eh_get_sense(struct list_head *work_q,
		      struct list_head *done_q)
{
	struct scsi_cmnd *scmd, *next;
@@ -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,7 +1412,7 @@ 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,
void scsi_eh_ready_devs(struct Scsi_Host *shost,
			struct list_head *work_q,
			struct list_head *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.
+5 −0
Original line number Diff line number Diff line
@@ -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);