]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
floppy: do put_disk on current dr if blk_init_queue fails
authorHerton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
Mon, 27 Aug 2012 23:56:52 +0000 (20:56 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 5 Nov 2012 08:44:25 +0000 (09:44 +0100)
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 <ben@decadent.org.uk>
Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/block/floppy.c

index 9955a53733b29c4501e9200d6870d2d771c23312..e07e3eded782da75b10cb563e8cd7e3722e81e8d 100644 (file)
@@ -4198,6 +4198,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;
                }