diff options
author | Jeff Garzik <jgarzik@pretzel.yyz.us> | 2005-06-26 18:06:06 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-06-26 18:06:06 -0400 |
commit | aef7b83c92dd0b7e994805440655d1d64147287b (patch) | |
tree | 981f373358c1988e061625e8f272013065cb086f /drivers/scsi/fd_mcs.c | |
parent | b1fc5505e0dbcc3fd7c75bfe6bee39ec50080963 (diff) | |
parent | 8678887e7fb43cd6c9be6c9807b05e77848e0920 (diff) | |
download | kernel-crypto-aef7b83c92dd0b7e994805440655d1d64147287b.tar.gz kernel-crypto-aef7b83c92dd0b7e994805440655d1d64147287b.tar.xz kernel-crypto-aef7b83c92dd0b7e994805440655d1d64147287b.zip |
Merge /spare/repo/linux-2.6/
Diffstat (limited to 'drivers/scsi/fd_mcs.c')
-rw-r--r-- | drivers/scsi/fd_mcs.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/scsi/fd_mcs.c b/drivers/scsi/fd_mcs.c index 770930e2aec..fa652f8aa64 100644 --- a/drivers/scsi/fd_mcs.c +++ b/drivers/scsi/fd_mcs.c @@ -1241,18 +1241,9 @@ static int fd_mcs_abort(Scsi_Cmnd * SCpnt) return SUCCESS; } -static int fd_mcs_host_reset(Scsi_Cmnd * SCpnt) -{ - return FAILED; -} - -static int fd_mcs_device_reset(Scsi_Cmnd * SCpnt) -{ - return FAILED; -} - static int fd_mcs_bus_reset(Scsi_Cmnd * SCpnt) { struct Scsi_Host *shpnt = SCpnt->device->host; + unsigned long flags; #if DEBUG_RESET static int called_once = 0; @@ -1269,6 +1260,8 @@ static int fd_mcs_bus_reset(Scsi_Cmnd * SCpnt) { called_once = 1; #endif + spin_lock_irqsave(shpnt->host_lock, flags); + outb(1, SCSI_Cntl_port); do_pause(2); outb(0, SCSI_Cntl_port); @@ -1276,6 +1269,8 @@ static int fd_mcs_bus_reset(Scsi_Cmnd * SCpnt) { outb(0, SCSI_Mode_Cntl_port); outb(PARITY_MASK, TMC_Cntl_port); + spin_unlock_irqrestore(shpnt->host_lock, flags); + /* Unless this is the very first call (i.e., SCPnt == NULL), everything is probably hosed at this point. We will, however, try to keep things going by informing the high-level code that we need help. */ @@ -1357,8 +1352,6 @@ static Scsi_Host_Template driver_template = { .queuecommand = fd_mcs_queue, .eh_abort_handler = fd_mcs_abort, .eh_bus_reset_handler = fd_mcs_bus_reset, - .eh_host_reset_handler = fd_mcs_host_reset, - .eh_device_reset_handler = fd_mcs_device_reset, .bios_param = fd_mcs_biosparam, .can_queue = 1, .this_id = 7, |