X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=block%2Fblk-tag.c;h=cc345e1d8d4ea0088832833ef985d6b1e764fa44;hb=8d4729066cde58c730573d6aad2ea29f8048fcb3;hp=4af6f5cc1167a65494dc52b39cd3f1dfd1271087;hpb=b3c9dd182ed3bdcdaf0e42625a35924b0497afdc;p=~andy%2Flinux diff --git a/block/blk-tag.c b/block/blk-tag.c index 4af6f5cc116..cc345e1d8d4 100644 --- a/block/blk-tag.c +++ b/block/blk-tag.c @@ -186,7 +186,8 @@ int blk_queue_init_tags(struct request_queue *q, int depth, tags = __blk_queue_init_tags(q, depth); if (!tags) - goto fail; + return -ENOMEM; + } else if (q->queue_tags) { rc = blk_queue_resize_tags(q, depth); if (rc) @@ -203,9 +204,6 @@ int blk_queue_init_tags(struct request_queue *q, int depth, queue_flag_set_unlocked(QUEUE_FLAG_QUEUED, q); INIT_LIST_HEAD(&q->tag_busy_list); return 0; -fail: - kfree(tags); - return -ENOMEM; } EXPORT_SYMBOL(blk_queue_init_tags);