summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_error.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-12-24 09:31:05 -0500
committerJeff Garzik <jgarzik@pobox.com>2005-12-24 09:31:05 -0500
commitaaadff81195056c7c14e0d834b3318c624c0fd78 (patch)
tree34d66d8dcb25fa9ffb568f8acfdb317ddf203b44 /drivers/scsi/scsi_error.c
parentc6329f4df2263ab5a40601a5236639e61b682f51 (diff)
parentdf7addbb45874f0f992266003155de5a22e1872f (diff)
Merge branch 'master'
Diffstat (limited to 'drivers/scsi/scsi_error.c')
-rw-r--r--drivers/scsi/scsi_error.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 18c5d252301..c0ae9e965f6 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -422,10 +422,15 @@ static int scsi_eh_completed_normally(struct scsi_cmnd *scmd)
**/
static void scsi_eh_done(struct scsi_cmnd *scmd)
{
+ struct completion *eh_action;
+
SCSI_LOG_ERROR_RECOVERY(3,
printk("%s scmd: %p result: %x\n",
__FUNCTION__, scmd, scmd->result));
- complete(scmd->device->host->eh_action);
+
+ eh_action = scmd->device->host->eh_action;
+ if (eh_action)
+ complete(eh_action);
}
/**