Specify 8 bytes alignment for the function __delay or we get bad delay like udelay(10) will be 25us in fact. Thanks for Guo Ren's help. Signed-off-by: Jialu Xu <xujialu@xxxxxxxxx> --- arch/csky/lib/delay.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/csky/lib/delay.c b/arch/csky/lib/delay.c index 22570b0790d6..f5db317313bb 100644 --- a/arch/csky/lib/delay.c +++ b/arch/csky/lib/delay.c @@ -5,7 +5,7 @@ #include <linux/init.h> #include <linux/delay.h> -void __delay(unsigned long loops) +void __aligned(8) __delay(unsigned long loops) { asm volatile ( "mov r0, r0\n" -- 2.30.2