diff options
author | Andrew Morton <akpm@linux-foundation.org> | 2007-07-16 08:41:28 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 18:05:50 +0200 |
commit | 4210df283cc703bc494f450c91b8311bdf7fe5ee (patch) | |
tree | 942e72f356f55dae8c8f6b3d4e6bc033a2191323 /fs/block_dev.c | |
parent | Replace obscure constructs in fs/block_dev.c (diff) | |
download | linux-4210df283cc703bc494f450c91b8311bdf7fe5ee.tar.xz linux-4210df283cc703bc494f450c91b8311bdf7fe5ee.zip |
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 <B.Steinbrink@gmx.de>
Cc: Johannes Weiner <hannes-kernel@saeurebad.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/block_dev.c')
-rw-r--r-- | fs/block_dev.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/fs/block_dev.c b/fs/block_dev.c index 75c47a21b2f0..3635315e3b99 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); } |