summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r--drivers/scsi/scsi_lib.c8
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;
}
}