aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>2014-10-23 22:16:48 +0530
committerMister Oyster <oysterized@gmail.com>2017-12-18 18:15:41 +0100
commit31f918b1d0e124a97adbf09bff5e295dc56ea4da (patch)
tree1d0aa7e72fbfa1b02b3b64f775e051e92770f3ce
parent76848d1b0190a973e54cde8b7dab8af87b34f6f5 (diff)
block: fix wrong error return in elevator_init()
while compiling integer err was showing as a set but unused variable. elevator_init_fn can be either cfq_init_queue or deadline_init_queue or noop_init_queue. all three of these functions are returning -ENOMEM if they fail to allocate the queue. so we should actually be returning the error code rather than returning 0 always. Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Jens Axboe <axboe@fb.com> Signed-off-by: mydongistiny <jaysonedson@gmail.com> Signed-off-by: Harshit Jain <harshitjain6751@gmail.com> Signed-off-by: dev-harsh1998 <harshitjain6751@gmail.com>
-rw-r--r--block/elevator.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/block/elevator.c b/block/elevator.c
index 24001ab11..e2096c531 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -229,7 +229,9 @@ int elevator_init(struct request_queue *q, char *name)
}
err = e->ops.elevator_init_fn(q, e);
- return 0;
+ if (err)
+ elevator_put(e);
+ return err;
}
EXPORT_SYMBOL(elevator_init);