summaryrefslogtreecommitdiff
path: root/drivers/block/elevator.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/elevator.c')
-rw-r--r--drivers/block/elevator.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/block/elevator.c b/drivers/block/elevator.c
index 9917ad055a6d..3df8aab7f497 100644
--- a/drivers/block/elevator.c
+++ b/drivers/block/elevator.c
@@ -46,6 +46,8 @@ int elevator_linus_merge(request_queue_t *q, struct request **req,
break;
}
+ if (!*req && BHRQ_IN_ORDER(bh, __rq))
+ *req = __rq;
if (__rq->sem)
continue;
if (__rq->cmd != rw)
@@ -65,8 +67,7 @@ int elevator_linus_merge(request_queue_t *q, struct request **req,
__rq->elevator_sequence -= count;
*req = __rq;
break;
- } else if (!*req && BHRQ_IN_ORDER(bh, __rq))
- *req = __rq;
+ }
}
return ret;