X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fscsi%2FBusLogic.c;h=9d6040bfa0646ae32283be9f1ffde0e974172594;hb=df0ae2497ddefd72a87f3a3b34ff32455d7d4ae0;hp=41b5197ce4e6c01cb5de40f8482fb47f43aaa376;hpb=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2;p=linux-2.6 diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c index 41b5197ce4..9d6040bfa0 100644 --- a/drivers/scsi/BusLogic.c +++ b/drivers/scsi/BusLogic.c @@ -2746,9 +2746,15 @@ static int BusLogic_host_reset(struct scsi_cmnd * SCpnt) unsigned int id = SCpnt->device->id; struct BusLogic_TargetStatistics *stats = &HostAdapter->TargetStatistics[id]; + int rc; + + spin_lock_irq(SCpnt->device->host->host_lock); + BusLogic_IncrementErrorCounter(&stats->HostAdapterResetsRequested); - return BusLogic_ResetHostAdapter(HostAdapter, false); + rc = BusLogic_ResetHostAdapter(HostAdapter, false); + spin_unlock_irq(SCpnt->device->host->host_lock); + return rc; } /* @@ -2957,13 +2963,6 @@ static int BusLogic_AbortCommand(struct scsi_cmnd *Command) int TargetID = Command->device->id; struct BusLogic_CCB *CCB; BusLogic_IncrementErrorCounter(&HostAdapter->TargetStatistics[TargetID].CommandAbortsRequested); - /* - If this Command has already completed, then no Abort is necessary. - */ - if (Command->serial_number != Command->serial_number_at_timeout) { - BusLogic_Warning("Unable to Abort Command to Target %d - " "Already Completed\n", HostAdapter, TargetID); - return SUCCESS; - } /* Attempt to find an Active CCB for this Command. If no Active CCB for this Command is found, then no Abort is necessary.