From aea654209741a990bc5c7810daff06ec8c2f7e04 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Sun, 7 Sep 2003 21:09:12 -0700 Subject: [PATCH] [PATCH] Fix noop elevator request merging From: Oleg Drokin Without this, if elv_try_last_merge() returns nonzero, we do not initialise *req. That results in a subsequent BUG_ON() in __make_request() because req is NULL (or is just uninitialised). --- drivers/block/noop-iosched.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/block/noop-iosched.c b/drivers/block/noop-iosched.c index 7511b955de70b..ffef40be1f927 100644 --- a/drivers/block/noop-iosched.c +++ b/drivers/block/noop-iosched.c @@ -24,8 +24,10 @@ int elevator_noop_merge(request_queue_t *q, struct request **req, struct request *__rq; int ret; - if ((ret = elv_try_last_merge(q, bio))) + if ((ret = elv_try_last_merge(q, bio))) { + *req = q->last_merge; return ret; + } while ((entry = entry->prev) != &q->queue_head) { __rq = list_entry_rq(entry); -- 2.53.0