[SCSI] allow sleeping in ->eh_host_reset_handler()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
このコミットが含まれているのは:
@@ -1005,13 +1005,7 @@ int fcp_scsi_dev_reset(Scsi_Cmnd *SCpnt)
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
int fcp_scsi_bus_reset(Scsi_Cmnd *SCpnt)
|
||||
{
|
||||
printk ("FC: bus reset!\n");
|
||||
return FAILED;
|
||||
}
|
||||
|
||||
int fcp_scsi_host_reset(Scsi_Cmnd *SCpnt)
|
||||
static int __fcp_scsi_host_reset(Scsi_Cmnd *SCpnt)
|
||||
{
|
||||
fc_channel *fc = FC_SCMND(SCpnt);
|
||||
fcp_cmnd *fcmd = FCP_CMND(SCpnt);
|
||||
@@ -1032,6 +1026,17 @@ int fcp_scsi_host_reset(Scsi_Cmnd *SCpnt)
|
||||
else return FAILED;
|
||||
}
|
||||
|
||||
int fcp_scsi_host_reset(Scsi_Cmnd *SCpnt)
|
||||
{
|
||||
int rc;
|
||||
|
||||
spin_lock_irqsave(SCpnt->device->host->host_lock, flags);
|
||||
rc = __fcp_scsi_host_reset(SCpnt);
|
||||
spin_unlock_irqrestore(SCpnt->device->host->host_lock, flags);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int fcp_els_queue_it(fc_channel *fc, fcp_cmnd *fcmd)
|
||||
{
|
||||
long i;
|
||||
|
@@ -27,7 +27,6 @@ EXPORT_SYMBOL(fc_do_prli);
|
||||
EXPORT_SYMBOL(fcp_scsi_queuecommand);
|
||||
EXPORT_SYMBOL(fcp_scsi_abort);
|
||||
EXPORT_SYMBOL(fcp_scsi_dev_reset);
|
||||
EXPORT_SYMBOL(fcp_scsi_bus_reset);
|
||||
EXPORT_SYMBOL(fcp_scsi_host_reset);
|
||||
|
||||
#endif /* CONFIG_MODULES */
|
||||
|
@@ -158,7 +158,6 @@ int fc_do_prli(fc_channel *, unsigned char);
|
||||
int fcp_scsi_queuecommand(Scsi_Cmnd *, void (* done)(Scsi_Cmnd *));
|
||||
int fcp_scsi_abort(Scsi_Cmnd *);
|
||||
int fcp_scsi_dev_reset(Scsi_Cmnd *);
|
||||
int fcp_scsi_bus_reset(Scsi_Cmnd *);
|
||||
int fcp_scsi_host_reset(Scsi_Cmnd *);
|
||||
|
||||
#endif /* !(_FCP_SCSI_H) */
|
||||
|
新しいイシューから参照
ユーザーをブロックする