Revert "scsi: core: Move scsi_host_busy() out of host lock if it is for per-command"
This reverts commit 9878c660d1
which is
commit 4e6c9011990726f4d175e2cdfebe5b0b8cce4839 upstream.
It breaks the Android kernel abi and can be brought back in the future
in an abi-safe way if it is really needed.
Bug: 161946584
Change-Id: I847a8663af86499ef850cc8fcd592d7467f2b01b
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
b2600e62c4
commit
d32a2a4b7b
@ -241,12 +241,11 @@ static void scsi_eh_inc_host_failed(struct rcu_head *head)
|
||||
{
|
||||
struct scsi_cmnd *scmd = container_of(head, typeof(*scmd), rcu);
|
||||
struct Scsi_Host *shost = scmd->device->host;
|
||||
unsigned int busy = scsi_host_busy(shost);
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(shost->host_lock, flags);
|
||||
shost->host_failed++;
|
||||
scsi_eh_wakeup(shost, busy);
|
||||
scsi_eh_wakeup(shost, scsi_host_busy(shost));
|
||||
spin_unlock_irqrestore(shost->host_lock, flags);
|
||||
}
|
||||
|
||||
|
@ -310,11 +310,9 @@ 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, busy);
|
||||
scsi_eh_wakeup(shost, scsi_host_busy(shost));
|
||||
spin_unlock_irqrestore(shost->host_lock, flags);
|
||||
}
|
||||
rcu_read_unlock();
|
||||
|
Loading…
Reference in New Issue
Block a user