From: Haavard Skinnemoen Date: Tue, 31 Oct 2006 19:01:11 +0000 (+0100) Subject: AVR32: Fix thinko in generic_find_next_zero_le_bit() X-Git-Tag: v2.6.19-rc5~8^2~2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=168c8fa32ff40d6caf7226a5abf2a0096f3393bf;p=~shefty%2Frdma-dev.git AVR32: Fix thinko in generic_find_next_zero_le_bit() The existing implementation of this function seems to be looking for a one although it should be looking for a zero. This causes trouble for the ext2 filesystem, which tends to report -ENOSPC without this patch. Fix this by complementing each word before scanning. Signed-off-by: Haavard Skinnemoen --- diff --git a/arch/avr32/lib/findbit.S b/arch/avr32/lib/findbit.S index 2b4856f4bf7..c6b91dee857 100644 --- a/arch/avr32/lib/findbit.S +++ b/arch/avr32/lib/findbit.S @@ -136,6 +136,7 @@ ENTRY(generic_find_next_zero_le_bit) /* offset is not word-aligned. Handle the first (32 - r10) bits */ ldswp.w r8, r12[0] sub r12, -4 + com r8 lsr r8, r8, r10 brne .L_found @@ -146,7 +147,7 @@ ENTRY(generic_find_next_zero_le_bit) /* Main loop. offset must be word-aligned */ 1: ldswp.w r8, r12[0] - cp.w r8, 0 + com r8 brne .L_found sub r12, -4 sub r9, 32