diff options
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
| -rw-r--r-- | drivers/scsi/scsi_lib.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index d837dc180522..aaea4b98af16 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -733,12 +733,13 @@ static bool scsi_end_request(struct request *req, int error,  	} else {  		unsigned long flags; +		if (bidi_bytes) +			scsi_release_bidi_buffers(cmd); +  		spin_lock_irqsave(q->queue_lock, flags);  		blk_finish_request(req, error);  		spin_unlock_irqrestore(q->queue_lock, flags); -		if (bidi_bytes) -			scsi_release_bidi_buffers(cmd);  		scsi_release_buffers(cmd);  		scsi_next_command(cmd);  	}  | 
