[SCSI] allow sleeping in ->eh_host_reset_handler()

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
Jeff Garzik
2005-05-28 07:57:14 -04:00
parent 68b3aa7c98
commit df0ae2497d
38 changed files with 177 additions and 44 deletions

View File

@@ -2885,7 +2885,7 @@ static int ipr_slave_alloc(struct scsi_device *sdev)
* Return value:
* SUCCESS / FAILED
**/
static int ipr_eh_host_reset(struct scsi_cmnd * scsi_cmd)
static int __ipr_eh_host_reset(struct scsi_cmnd * scsi_cmd)
{
struct ipr_ioa_cfg *ioa_cfg;
int rc;
@@ -2905,6 +2905,17 @@ static int ipr_eh_host_reset(struct scsi_cmnd * scsi_cmd)
return rc;
}
static int ipr_eh_host_reset(struct scsi_cmnd * cmd)
{
int rc;
spin_lock_irq(cmd->device->host->host_lock);
rc = __ipr_eh_host_reset(cmd);
spin_unlock_irq(cmd->device->host->host_lock);
return rc;
}
/**
* ipr_eh_dev_reset - Reset the device
* @scsi_cmd: scsi command struct