diff options
author | Sudip Mukherjee <sudipm.mukherjee@gmail.com> | 2014-10-23 12:46:48 -0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-10-23 14:35:42 -0400 |
commit | d32f6b57523b6e9b2e39e990e056f9882a6f099a (patch) | |
tree | 2e7f132eb3583a235cf9a8e0dbe876db32c69a2a | |
parent | 84ce0f0e94ac97217398b3b69c21c7a62ebeed05 (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>
-rw-r--r-- | block/elevator.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/block/elevator.c b/block/elevator.c index 24c28b659bb3..afa3b037a17c 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
@@ -229,7 +229,9 @@ int elevator_init(struct request_queue *q, char *name) | |||
229 | } | 229 | } |
230 | 230 | ||
231 | err = e->ops.elevator_init_fn(q, e); | 231 | err = e->ops.elevator_init_fn(q, e); |
232 | return 0; | 232 | if (err) |
233 | elevator_put(e); | ||
234 | return err; | ||
233 | } | 235 | } |
234 | EXPORT_SYMBOL(elevator_init); | 236 | EXPORT_SYMBOL(elevator_init); |
235 | 237 | ||