diff options
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
| -rw-r--r-- | drivers/scsi/scsi_lib.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index cf3864f72093..df5ac03d5d6c 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -278,9 +278,11 @@ static void scsi_dec_host_busy(struct Scsi_Host *shost, struct scsi_cmnd *cmd)  	rcu_read_lock();  	__clear_bit(SCMD_STATE_INFLIGHT, &cmd->state);  	if (unlikely(scsi_host_in_recovery(shost))) { +		unsigned int busy = scsi_host_busy(shost); +  		spin_lock_irqsave(shost->host_lock, flags);  		if (shost->host_failed || shost->host_eh_scheduled) -			scsi_eh_wakeup(shost); +			scsi_eh_wakeup(shost, busy);  		spin_unlock_irqrestore(shost->host_lock, flags);  	}  	rcu_read_unlock();  | 
