From: Sudip Mukherjee Date: Thu, 23 Oct 2014 16:46:48 +0000 (+0530) Subject: block: fix wrong error return in elevator_init() X-Git-Tag: v3.18-rc3~32^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d32f6b57523b6e9b2e39e990e056f9882a6f099a;p=platform%2Fkernel%2Flinux-exynos.git 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 Signed-off-by: Jens Axboe --- diff --git a/block/elevator.c b/block/elevator.c index 24c28b6..afa3b03 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);