diff options
-rw-r--r-- | drivers/scsi/scsi_error.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index 18c5d2523014..c0ae9e965f6f 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) | |||
422 | **/ | 422 | **/ |
423 | static void scsi_eh_done(struct scsi_cmnd *scmd) | 423 | static void scsi_eh_done(struct scsi_cmnd *scmd) |
424 | { | 424 | { |
425 | struct completion *eh_action; | ||
426 | |||
425 | SCSI_LOG_ERROR_RECOVERY(3, | 427 | SCSI_LOG_ERROR_RECOVERY(3, |
426 | printk("%s scmd: %p result: %x\n", | 428 | printk("%s scmd: %p result: %x\n", |
427 | __FUNCTION__, scmd, scmd->result)); | 429 | __FUNCTION__, scmd, scmd->result)); |
428 | complete(scmd->device->host->eh_action); | 430 | |
431 | eh_action = scmd->device->host->eh_action; | ||
432 | if (eh_action) | ||
433 | complete(eh_action); | ||
429 | } | 434 | } |
430 | 435 | ||
431 | /** | 436 | /** |