ARM: 6482/2: Fix find_next_zero_bit and related assembly
authorJames Jones <jajones@nvidia.com>
Tue, 23 Nov 2010 23:21:37 +0000 (00:21 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 24 Nov 2010 20:17:46 +0000 (20:17 +0000)
commit0e91ec0c06d2cd15071a6021c94840a50e6671aa
tree1d0cb8bbdbab498af1f2513d9f0637105b2d2c3b
parent28c22d7dc99486ef4186dde41d5260e75b3076f7
ARM: 6482/2: Fix find_next_zero_bit and related assembly

The find_next_bit, find_first_bit, find_next_zero_bit
and find_first_zero_bit functions were not properly
clamping to the maxbit argument at the bit level. They
were instead only checking maxbit at the byte level.
To fix this, add a compare and a conditional move
instruction to the end of the common bit-within-the-
byte code used by all the functions and be sure not to
clobber the maxbit argument before it is used.

Cc: <stable@kernel.org>
Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: James Jones <jajones@nvidia.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/lib/findbit.S