git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
[pandora-kernel.git]
/
drivers
/
scsi
/
scsi_error.c
diff --git
a/drivers/scsi/scsi_error.c
b/drivers/scsi/scsi_error.c
index
ff82ccf
..
1c75646
100644
(file)
--- a/
drivers/scsi/scsi_error.c
+++ b/
drivers/scsi/scsi_error.c
@@
-29,6
+29,7
@@
#include <scsi/scsi_dbg.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_eh.h>
#include <scsi/scsi_dbg.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_eh.h>
+#include <scsi/scsi_transport.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_ioctl.h>
#include <scsi/scsi_request.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_ioctl.h>
#include <scsi/scsi_request.h>
@@
-163,16
+164,12
@@
void scsi_times_out(struct scsi_cmnd *scmd)
{
scsi_log_completion(scmd, TIMEOUT_ERROR);
{
scsi_log_completion(scmd, TIMEOUT_ERROR);
- if (scmd->device->host->
hos
tt->eh_timed_out)
- switch (scmd->device->host->
hos
tt->eh_timed_out(scmd)) {
+ if (scmd->device->host->
transpor
tt->eh_timed_out)
+ switch (scmd->device->host->
transpor
tt->eh_timed_out(scmd)) {
case EH_HANDLED:
__scsi_done(scmd);
return;
case EH_RESET_TIMER:
case EH_HANDLED:
__scsi_done(scmd);
return;
case EH_RESET_TIMER:
- /* This allows a single retry even of a command
- * with allowed == 0 */
- if (scmd->retries++ > scmd->allowed)
- break;
scsi_add_timer(scmd, scmd->timeout_per_command,
scsi_times_out);
return;
scsi_add_timer(scmd, scmd->timeout_per_command,
scsi_times_out);
return;
@@
-584,8
+581,7
@@
static int scsi_request_sense(struct scsi_cmnd *scmd)
* keep a list of pending commands for final completion, and once we
* are ready to leave error handling we handle completion for real.
**/
* keep a list of pending commands for final completion, and once we
* are ready to leave error handling we handle completion for real.
**/
-static void scsi_eh_finish_cmd(struct scsi_cmnd *scmd,
- struct list_head *done_q)
+void scsi_eh_finish_cmd(struct scsi_cmnd *scmd, struct list_head *done_q)
{
scmd->device->host->host_failed--;
scmd->eh_eflags = 0;
{
scmd->device->host->host_failed--;
scmd->eh_eflags = 0;
@@
-597,6
+593,7
@@
static void scsi_eh_finish_cmd(struct scsi_cmnd *scmd,
scsi_setup_cmd_retry(scmd);
list_move_tail(&scmd->eh_entry, done_q);
}
scsi_setup_cmd_retry(scmd);
list_move_tail(&scmd->eh_entry, done_q);
}
+EXPORT_SYMBOL(scsi_eh_finish_cmd);
/**
* scsi_eh_get_sense - Get device sense data.
/**
* scsi_eh_get_sense - Get device sense data.
@@
-1425,7
+1422,7
@@
static void scsi_eh_ready_devs(struct Scsi_Host *shost,
* @done_q: list_head of processed commands.
*
**/
* @done_q: list_head of processed commands.
*
**/
-
static
void scsi_eh_flush_done_q(struct list_head *done_q)
+void scsi_eh_flush_done_q(struct list_head *done_q)
{
struct scsi_cmnd *scmd, *next;
{
struct scsi_cmnd *scmd, *next;
@@
-1454,6
+1451,7
@@
static void scsi_eh_flush_done_q(struct list_head *done_q)
}
}
}
}
}
}
+EXPORT_SYMBOL(scsi_eh_flush_done_q);
/**
* scsi_unjam_host - Attempt to fix a host which has a cmd that failed.
/**
* scsi_unjam_host - Attempt to fix a host which has a cmd that failed.
@@
-1539,8
+1537,8
@@
int scsi_error_handler(void *data)
* what we need to do to get it up and online again (if we can).
* If we fail, we end up taking the thing offline.
*/
* what we need to do to get it up and online again (if we can).
* If we fail, we end up taking the thing offline.
*/
- if (shost->
hostt->eh_strategy_handler)
- shost->
hos
tt->eh_strategy_handler(shost);
+ if (shost->
transportt->eh_strategy_handler)
+ shost->
transpor
tt->eh_strategy_handler(shost);
else
scsi_unjam_host(shost);
else
scsi_unjam_host(shost);