diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-05-28 07:56:31 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-06-17 13:05:10 -0400 |
commit | 68b3aa7c9805aee9005a8ca53c5e99177961fbb9 (patch) | |
tree | 3f28891df0b3a1ecdfe6a98547d8f3c43b74e905 /drivers/scsi/NCR5380.c | |
parent | 94d0e7b805961c44e4dc486ffc21075084bb7175 (diff) |
[SCSI] allow sleeping in ->eh_bus_reset_handler()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/NCR5380.c')
-rw-r--r-- | drivers/scsi/NCR5380.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c index 7ae19d4181be..f8ec6fe7d858 100644 --- a/drivers/scsi/NCR5380.c +++ b/drivers/scsi/NCR5380.c | |||
@@ -2825,11 +2825,17 @@ static int NCR5380_abort(Scsi_Cmnd * cmd) { | |||
2825 | * Locks: host lock taken by caller | 2825 | * Locks: host lock taken by caller |
2826 | */ | 2826 | */ |
2827 | 2827 | ||
2828 | static int NCR5380_bus_reset(Scsi_Cmnd * cmd) { | 2828 | static int NCR5380_bus_reset(Scsi_Cmnd * cmd) |
2829 | { | ||
2830 | struct Scsi_Host *instance = cmd->device->host; | ||
2831 | |||
2829 | NCR5380_local_declare(); | 2832 | NCR5380_local_declare(); |
2830 | NCR5380_setup(cmd->device->host); | 2833 | NCR5380_setup(instance); |
2834 | NCR5380_print_status(instance); | ||
2835 | |||
2836 | spin_lock_irq(instance->host_lock); | ||
2837 | do_reset(instance); | ||
2838 | spin_unlock_irq(instance->host_lock); | ||
2831 | 2839 | ||
2832 | NCR5380_print_status(cmd->device->host); | ||
2833 | do_reset(cmd->device->host); | ||
2834 | return SUCCESS; | 2840 | return SUCCESS; |
2835 | } | 2841 | } |