From: Julia Lawall <Julia.Lawall@xxxxxxx> Delete unnecessary local variable whose value is always 0 and that hides the fact that the result is always 0. A simplified version of the semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ local idexpression ret; expression e; position p; @@ -ret = 0; ... when != ret = e return - ret + 0 ; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> --- Alternatively, was an error code intended in the MD_MAX_BADBLOCKS case? drivers/md/md.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/md/md.c b/drivers/md/md.c index f477e4c..23b7fee 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -8297,7 +8297,6 @@ static int md_clear_badblocks(struct badblocks *bb, sector_t s, int sectors) u64 *p; int lo, hi; sector_t target = s + sectors; - int rv = 0; if (bb->shift > 0) { /* When clearing we round the start up and the end down. @@ -8339,10 +8338,8 @@ static int md_clear_badblocks(struct badblocks *bb, sector_t s, int sectors) if (a < s) { /* we need to split this range */ - if (bb->count >= MD_MAX_BADBLOCKS) { - rv = 0; + if (bb->count >= MD_MAX_BADBLOCKS) goto out; - } memmove(p+lo+1, p+lo, (bb->count - lo) * 8); bb->count++; p[lo] = BB_MAKE(a, s-a, ack); @@ -8378,7 +8375,7 @@ static int md_clear_badblocks(struct badblocks *bb, sector_t s, int sectors) bb->changed = 1; out: write_sequnlock_irq(&bb->lock); - return rv; + return 0; } int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors, -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html