From: Andrew Morton Date: Mon, 16 Jul 2007 06:41:28 +0000 (-0700) Subject: bd_claim_by_disk: fix warning X-Git-Tag: v2.6.23-rc1~833 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4210df283cc703bc494f450c91b8311bdf7fe5ee;p=linux-2.6 bd_claim_by_disk: fix warning Fix this: fs/block_dev.c: In function 'bd_claim_by_disk': fs/block_dev.c:970: warning: 'found' may be used uninitialized in this function and given that free_bd_holder() now needs free(NULL)-is-legal behaviour, we can simplify bd_release_from_kobject(). Cc: Bjorn Steinbrink Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/fs/block_dev.c b/fs/block_dev.c index 75c47a21b2..3635315e3b 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -963,20 +963,20 @@ static int bd_claim_by_kobject(struct block_device *bdev, void *holder, err = bd_claim(bdev, holder); if (err) - goto out; + goto fail; found = find_bd_holder(bdev, bo); if (found) - goto out; + goto fail; err = add_bd_holder(bdev, bo); if (err) bd_release(bdev); - -out: - if (err || found) - free_bd_holder(bo); + else + bo = NULL; +fail: mutex_unlock(&bdev->bd_mutex); + free_bd_holder(bo); return err; } @@ -991,15 +991,12 @@ out: static void bd_release_from_kobject(struct block_device *bdev, struct kobject *kobj) { - struct bd_holder *bo; - if (!kobj) return; mutex_lock(&bdev->bd_mutex); bd_release(bdev); - if ((bo = del_bd_holder(bdev, kobj))) - free_bd_holder(bo); + free_bd_holder(del_bd_holder(bdev, kobj)); mutex_unlock(&bdev->bd_mutex); }