If the condition k==lim-1 is true, we must have off == 0 (otherwise, k
could never become that big). But in that case we have upper == 0 and
hence dst[k] == (src[k] & mask) >> rem. Since mask consists of a
consecutive range of bits starting from the LSB, anding dst[k] with
mask is a no-op.

Signed-off-by: Rasmus Villemoes <[email protected]>
---
 lib/bitmap.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/bitmap.c b/lib/bitmap.c
index 9250c3f..20bb314 100644
--- a/lib/bitmap.c
+++ b/lib/bitmap.c
@@ -134,8 +134,6 @@ void __bitmap_shift_right(unsigned long *dst, const 
unsigned long *src,
                        lower &= mask;
                lower >>= rem;
                dst[k] = lower | upper;
-               if (left && k == lim - 1)
-                       dst[k] &= mask;
        }
        if (off)
                memset(&dst[lim - off], 0, off*sizeof(unsigned long));
-- 
2.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to