diff options
Diffstat (limited to 'drivers/scsi/NCR53c406a.c')
-rw-r--r-- | drivers/scsi/NCR53c406a.c | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c index c685d546f838..79ae73b23680 100644 --- a/drivers/scsi/NCR53c406a.c +++ b/drivers/scsi/NCR53c406a.c | |||
@@ -182,13 +182,13 @@ static int irq_probe(void); | |||
182 | static void *bios_base; | 182 | static void *bios_base; |
183 | #endif | 183 | #endif |
184 | 184 | ||
185 | #if PORT_BASE | 185 | #ifdef PORT_BASE |
186 | static int port_base = PORT_BASE; | 186 | static int port_base = PORT_BASE; |
187 | #else | 187 | #else |
188 | static int port_base; | 188 | static int port_base; |
189 | #endif | 189 | #endif |
190 | 190 | ||
191 | #if IRQ_LEV | 191 | #ifdef IRQ_LEV |
192 | static int irq_level = IRQ_LEV; | 192 | static int irq_level = IRQ_LEV; |
193 | #else | 193 | #else |
194 | static int irq_level = -1; /* 0 is 'no irq', so use -1 for 'uninitialized' */ | 194 | static int irq_level = -1; /* 0 is 'no irq', so use -1 for 'uninitialized' */ |
@@ -722,15 +722,12 @@ static int NCR53c406a_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *)) | |||
722 | return 0; | 722 | return 0; |
723 | } | 723 | } |
724 | 724 | ||
725 | static int NCR53c406a_abort(Scsi_Cmnd * SCpnt) | ||
726 | { | ||
727 | DEB(printk("NCR53c406a_abort called\n")); | ||
728 | return FAILED; /* Don't know how to abort */ | ||
729 | } | ||
730 | |||
731 | static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) | 725 | static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) |
732 | { | 726 | { |
733 | DEB(printk("NCR53c406a_reset called\n")); | 727 | DEB(printk("NCR53c406a_reset called\n")); |
728 | |||
729 | spin_lock_irq(SCpnt->device->host->host_lock); | ||
730 | |||
734 | outb(C4_IMG, CONFIG4); /* Select reg set 0 */ | 731 | outb(C4_IMG, CONFIG4); /* Select reg set 0 */ |
735 | outb(CHIP_RESET, CMD_REG); | 732 | outb(CHIP_RESET, CMD_REG); |
736 | outb(SCSI_NOP, CMD_REG); /* required after reset */ | 733 | outb(SCSI_NOP, CMD_REG); /* required after reset */ |
@@ -738,17 +735,10 @@ static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) | |||
738 | chip_init(); | 735 | chip_init(); |
739 | 736 | ||
740 | rtrc(2); | 737 | rtrc(2); |
741 | return SUCCESS; | ||
742 | } | ||
743 | 738 | ||
744 | static int NCR53c406a_device_reset(Scsi_Cmnd * SCpnt) | 739 | spin_unlock_irq(SCpnt->device->host->host_lock); |
745 | { | ||
746 | return FAILED; | ||
747 | } | ||
748 | 740 | ||
749 | static int NCR53c406a_bus_reset(Scsi_Cmnd * SCpnt) | 741 | return SUCCESS; |
750 | { | ||
751 | return FAILED; | ||
752 | } | 742 | } |
753 | 743 | ||
754 | static int NCR53c406a_biosparm(struct scsi_device *disk, | 744 | static int NCR53c406a_biosparm(struct scsi_device *disk, |
@@ -1075,9 +1065,6 @@ static Scsi_Host_Template driver_template = | |||
1075 | .release = NCR53c406a_release, | 1065 | .release = NCR53c406a_release, |
1076 | .info = NCR53c406a_info /* info */, | 1066 | .info = NCR53c406a_info /* info */, |
1077 | .queuecommand = NCR53c406a_queue /* queuecommand */, | 1067 | .queuecommand = NCR53c406a_queue /* queuecommand */, |
1078 | .eh_abort_handler = NCR53c406a_abort /* abort */, | ||
1079 | .eh_bus_reset_handler = NCR53c406a_bus_reset /* reset */, | ||
1080 | .eh_device_reset_handler = NCR53c406a_device_reset /* reset */, | ||
1081 | .eh_host_reset_handler = NCR53c406a_host_reset /* reset */, | 1068 | .eh_host_reset_handler = NCR53c406a_host_reset /* reset */, |
1082 | .bios_param = NCR53c406a_biosparm /* biosparm */, | 1069 | .bios_param = NCR53c406a_biosparm /* biosparm */, |
1083 | .can_queue = 1 /* can_queue */, | 1070 | .can_queue = 1 /* can_queue */, |