diff options
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r-- | drivers/scsi/scsi_lib.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 07022ed38..48b1c977d 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -947,23 +947,23 @@ void scsi_request_fn(request_queue_t * q) * get those allocated here. */ if (!SDpnt->scsi_init_io_fn(SCpnt)) { - SHpnt->host_busy--; - SDpnt->device_busy--; scsi_end_request(SCpnt, 0, SCpnt->request.nr_sectors); spin_lock_irq(&io_request_lock); + SHpnt->host_busy--; + SDpnt->device_busy--; continue; } /* * Initialize the actual SCSI command for this request. */ if (!STpnt->init_command(SCpnt)) { - SHpnt->host_busy--; - SDpnt->device_busy--; scsi_release_buffers(SCpnt); scsi_end_request(SCpnt, 0, SCpnt->request.nr_sectors); spin_lock_irq(&io_request_lock); + SHpnt->host_busy--; + SDpnt->device_busy--; continue; } } |