diff options
Diffstat (limited to 'drivers/scsi/ultrastor.c')
-rw-r--r-- | drivers/scsi/ultrastor.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/scsi/ultrastor.c b/drivers/scsi/ultrastor.c index 97f4d9112b48..486551bd54ba 100644 --- a/drivers/scsi/ultrastor.c +++ b/drivers/scsi/ultrastor.c | |||
@@ -879,7 +879,7 @@ static int ultrastor_abort(Scsi_Cmnd *SCpnt) | |||
879 | ogm_addr = (unsigned int)isa_bus_to_virt(inl(port0 + 23)); | 879 | ogm_addr = (unsigned int)isa_bus_to_virt(inl(port0 + 23)); |
880 | icm_status = inb(port0 + 27); | 880 | icm_status = inb(port0 + 27); |
881 | icm_addr = (unsigned int)isa_bus_to_virt(inl(port0 + 28)); | 881 | icm_addr = (unsigned int)isa_bus_to_virt(inl(port0 + 28)); |
882 | spin_lock_irqsave(host->host_lock, flags); | 882 | spin_unlock_irqrestore(host->host_lock, flags); |
883 | } | 883 | } |
884 | 884 | ||
885 | /* First check to see if an interrupt is pending. I suspect the SiS | 885 | /* First check to see if an interrupt is pending. I suspect the SiS |
@@ -954,9 +954,7 @@ static int ultrastor_abort(Scsi_Cmnd *SCpnt) | |||
954 | SCpnt->result = DID_ABORT << 16; | 954 | SCpnt->result = DID_ABORT << 16; |
955 | 955 | ||
956 | /* Take the host lock to guard against scsi layer re-entry */ | 956 | /* Take the host lock to guard against scsi layer re-entry */ |
957 | spin_lock_irqsave(host->host_lock, flags); | ||
958 | done(SCpnt); | 957 | done(SCpnt); |
959 | spin_unlock_irqrestore(host->host_lock, flags); | ||
960 | 958 | ||
961 | /* Need to set a timeout here in case command never completes. */ | 959 | /* Need to set a timeout here in case command never completes. */ |
962 | return SUCCESS; | 960 | return SUCCESS; |