|
@@ -713,7 +713,7 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,
|
|
|
return NULL;
|
|
|
|
|
|
if (blk_init_rl(&q->root_rl, q, GFP_KERNEL))
|
|
|
- return NULL;
|
|
|
+ goto fail;
|
|
|
|
|
|
q->request_fn = rfn;
|
|
|
q->prep_rq_fn = NULL;
|
|
@@ -737,12 +737,16 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,
|
|
|
/* init elevator */
|
|
|
if (elevator_init(q, NULL)) {
|
|
|
mutex_unlock(&q->sysfs_lock);
|
|
|
- return NULL;
|
|
|
+ goto fail;
|
|
|
}
|
|
|
|
|
|
mutex_unlock(&q->sysfs_lock);
|
|
|
|
|
|
return q;
|
|
|
+
|
|
|
+fail:
|
|
|
+ kfree(q->flush_rq);
|
|
|
+ return NULL;
|
|
|
}
|
|
|
EXPORT_SYMBOL(blk_init_allocated_queue);
|
|
|
|