Messages in this thread | | | Date | Tue, 28 Oct 2014 22:52:34 +0530 | From | Sudip Mukherjee <> | Subject | Re: [PATCH v3] block: wrong return value |
| |
On Thu, Oct 23, 2014 at 10:16:48PM +0530, Sudip Mukherjee wrote: > 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. i have one doubt. shouldn't this patch be marked for stable also?
thanks sudip > > Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> > --- > > change in v2: added elevator_put > change in v3: remove unneeded initialization of err > > block/elevator.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > 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); > > -- > 1.8.1.2 >
| |