diff options
Diffstat (limited to 'drivers/scsi/NCR53c406a.c')
-rw-r--r-- | drivers/scsi/NCR53c406a.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c index c685d546f838..b2002ba6e2aa 100644 --- a/drivers/scsi/NCR53c406a.c +++ b/drivers/scsi/NCR53c406a.c @@ -722,15 +722,12 @@ static int NCR53c406a_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *)) return 0; } -static int NCR53c406a_abort(Scsi_Cmnd * SCpnt) -{ - DEB(printk("NCR53c406a_abort called\n")); - return FAILED; /* Don't know how to abort */ -} - static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) { DEB(printk("NCR53c406a_reset called\n")); + + spin_lock_irq(SCpnt->device->host->host_lock); + outb(C4_IMG, CONFIG4); /* Select reg set 0 */ outb(CHIP_RESET, CMD_REG); outb(SCSI_NOP, CMD_REG); /* required after reset */ @@ -738,17 +735,10 @@ static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) chip_init(); rtrc(2); - return SUCCESS; -} -static int NCR53c406a_device_reset(Scsi_Cmnd * SCpnt) -{ - return FAILED; -} + spin_unlock_irq(SCpnt->device->host->host_lock); -static int NCR53c406a_bus_reset(Scsi_Cmnd * SCpnt) -{ - return FAILED; + return SUCCESS; } static int NCR53c406a_biosparm(struct scsi_device *disk, @@ -1075,9 +1065,6 @@ static Scsi_Host_Template driver_template = .release = NCR53c406a_release, .info = NCR53c406a_info /* info */, .queuecommand = NCR53c406a_queue /* queuecommand */, - .eh_abort_handler = NCR53c406a_abort /* abort */, - .eh_bus_reset_handler = NCR53c406a_bus_reset /* reset */, - .eh_device_reset_handler = NCR53c406a_device_reset /* reset */, .eh_host_reset_handler = NCR53c406a_host_reset /* reset */, .bios_param = NCR53c406a_biosparm /* biosparm */, .can_queue = 1 /* can_queue */, |