diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index f5e091b..4bf95b6 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -3638,6 +3638,12 @@
 {
 	struct gendisk *disk = req->rq_disk;
 
+	if (blk_rq_tagged(req))
+		blk_queue_end_tag(req->q, req);
+
+	if (blk_queued_rq(req))
+		blkdev_dequeue_request(req);
+
 	if (unlikely(laptop_mode) && blk_fs_request(req))
 		laptop_io_completion();
 
@@ -3655,10 +3661,15 @@
 		disk_round_stats(disk);
 		disk->in_flight--;
 	}
+
 	if (req->end_io)
 		req->end_io(req, error);
-	else
+	else {
+		if (blk_bidi_rq(req))
+			__blk_put_request(req->next_rq->q, req->next_rq);
+
 		__blk_put_request(req->q, req);
+	}
 }
 
 static inline void __end_request(struct request *rq, int uptodate,
@@ -3759,20 +3770,6 @@
 }
 EXPORT_SYMBOL(end_request);
 
-static void complete_request(struct request *rq, int error)
-{
-	if (blk_rq_tagged(rq))
-		blk_queue_end_tag(rq->q, rq);
-
-	if (blk_queued_rq(rq))
-		blkdev_dequeue_request(rq);
-
-	if (blk_bidi_rq(rq) && !rq->end_io)
-		__blk_put_request(rq->next_rq->q, rq->next_rq);
-
-	end_that_request_last(rq, error);
-}
-
 /**
  * blk_end_io - Generic end_io function to complete a request.
  * @rq:           the request being processed
@@ -3815,7 +3812,7 @@
 	add_disk_randomness(rq->rq_disk);
 
 	spin_lock_irqsave(q->queue_lock, flags);
-	complete_request(rq, error);
+	end_that_request_last(rq, error);
 	spin_unlock_irqrestore(q->queue_lock, flags);
 
 	return 0;
@@ -3863,7 +3860,7 @@
 
 	add_disk_randomness(rq->rq_disk);
 
-	complete_request(rq, error);
+	end_that_request_last(rq, error);
 
 	return 0;
 }
