aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/NCR53c406a.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-05-28 07:57:14 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-06-17 13:05:18 -0400
commitdf0ae2497ddefd72a87f3a3b34ff32455d7d4ae0 (patch)
tree552e02a44a21bd38db91729c85219542c2930ae2 /drivers/scsi/NCR53c406a.c
parent68b3aa7c9805aee9005a8ca53c5e99177961fbb9 (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.c6
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 *))
725static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) 725static 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