diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-05-28 07:57:14 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-06-17 13:05:18 -0400 |
commit | df0ae2497ddefd72a87f3a3b34ff32455d7d4ae0 (patch) | |
tree | 552e02a44a21bd38db91729c85219542c2930ae2 /drivers/scsi/NCR53c406a.c | |
parent | 68b3aa7c9805aee9005a8ca53c5e99177961fbb9 (diff) |
[SCSI] allow sleeping in ->eh_host_reset_handler()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/NCR53c406a.c')
-rw-r--r-- | drivers/scsi/NCR53c406a.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c index 7c025b6cdd7c..b2002ba6e2aa 100644 --- a/drivers/scsi/NCR53c406a.c +++ b/drivers/scsi/NCR53c406a.c | |||
@@ -725,6 +725,9 @@ static int NCR53c406a_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *)) | |||
725 | static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) | 725 | static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) |
726 | { | 726 | { |
727 | DEB(printk("NCR53c406a_reset called\n")); | 727 | DEB(printk("NCR53c406a_reset called\n")); |
728 | |||
729 | spin_lock_irq(SCpnt->device->host->host_lock); | ||
730 | |||
728 | outb(C4_IMG, CONFIG4); /* Select reg set 0 */ | 731 | outb(C4_IMG, CONFIG4); /* Select reg set 0 */ |
729 | outb(CHIP_RESET, CMD_REG); | 732 | outb(CHIP_RESET, CMD_REG); |
730 | outb(SCSI_NOP, CMD_REG); /* required after reset */ | 733 | outb(SCSI_NOP, CMD_REG); /* required after reset */ |
@@ -732,6 +735,9 @@ static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) | |||
732 | chip_init(); | 735 | chip_init(); |
733 | 736 | ||
734 | rtrc(2); | 737 | rtrc(2); |
738 | |||
739 | spin_unlock_irq(SCpnt->device->host->host_lock); | ||
740 | |||
735 | return SUCCESS; | 741 | return SUCCESS; |
736 | } | 742 | } |
737 | 743 | ||