From: Haavard Skinnemoen libgcc uses a logical shift right instruction in one place we're using an arithmetic shift right. I believe libgcc is right. This fixes some weirdness in the timer code that I've seen lately. Signed-off-by: Haavard Skinnemoen Signed-off-by: Andrew Morton --- arch/avr32/lib/__avr32_asr64.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN arch/avr32/lib/__avr32_asr64.S~avr32-fix-bug-in-__avr32_asr64 arch/avr32/lib/__avr32_asr64.S --- a/arch/avr32/lib/__avr32_asr64.S~avr32-fix-bug-in-__avr32_asr64 +++ a/arch/avr32/lib/__avr32_asr64.S @@ -20,8 +20,8 @@ __avr32_asr64: brle 1f lsl r8, r11, r9 + lsr r10, r10, r12 asr r11, r11, r12 - asr r10, r10, r12 or r10, r8 retal r12 _