[SCSI] allow sleeping in ->eh_bus_reset_handler()

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
Jeff Garzik
2005-05-28 07:56:31 -04:00
parent 94d0e7b805
commit 68b3aa7c98
32 changed files with 134 additions and 41 deletions

View File

@@ -1054,7 +1054,7 @@ lpfc_reset_lun_handler(struct scsi_cmnd *cmnd)
* Note: midlayer calls this function with the host_lock held
*/
static int
lpfc_reset_bus_handler(struct scsi_cmnd *cmnd)
__lpfc_reset_bus_handler(struct scsi_cmnd *cmnd)
{
struct Scsi_Host *shost = cmnd->device->host;
struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata[0];
@@ -1143,6 +1143,16 @@ out:
return ret;
}
static int
lpfc_reset_bus_handler(struct scsi_cmnd *cmnd)
{
int rc;
spin_lock_irq(cmnd->device->host->host_lock);
rc = __lpfc_reset_bus_handler(cmnd);
spin_unlock_irq(cmnd->device->host->host_lock);
return rc;
}
static int
lpfc_slave_alloc(struct scsi_device *sdev)
{