From: Herton Ronaldo Krzesinski Date: Mon, 27 Aug 2012 23:56:52 +0000 (-0300) Subject: floppy: do put_disk on current dr if blk_init_queue fails X-Git-Tag: v3.2.34~50 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ae1ab6ee65fe4cf7d6752b5aefffd97fc84984b2;p=people%2Fms%2Flinux.git floppy: do put_disk on current dr if blk_init_queue fails commit 238ab78469c6ab7845b43d5061cd3c92331b2452 upstream. If blk_init_queue fails, we do not call put_disk on the current dr (dr is decremented first in the error handling loop). Reviewed-by: Ben Hutchings Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Jiri Kosina Signed-off-by: Jens Axboe Signed-off-by: Ben Hutchings --- diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index 38c062c1a1af..a6c3d180ba65 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c @@ -4163,6 +4163,7 @@ static int __init floppy_init(void) disks[dr]->queue = blk_init_queue(do_fd_request, &floppy_lock); if (!disks[dr]->queue) { + put_disk(disks[dr]); err = -ENOMEM; goto out_put_disk; }