diff options
author | James Bottomley <jejb@titanic.(none)> | 2005-06-17 19:04:18 -0500 |
---|---|---|
committer | James Bottomley <jejb@titanic.(none)> | 2005-06-17 19:04:18 -0500 |
commit | 3afa294c40013be5d8180005002e3f648d04d942 (patch) | |
tree | 8a8b7464fd8ee4901288afb3e9e8d761ef45647d /drivers/scsi/fd_mcs.c | |
parent | a1541d5af66d02426655b1498f814c52347dd7d3 (diff) | |
parent | 3237ee78fc00f786d5f5aec6f9310b0e39069f15 (diff) |
merge by hand (qla_os.c mismerge)
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, |