Using 3.14 kernel and Lollipop 5.1 we sometimes get a hang at "reboot bootloader" command.
I was able to capture this with JTAG.
#0 v7wbi_flush_kern_tlb_range () at arch/arm/mm/tlb-v7.S:84
#1 0xc00160a0 in flush_tlb_kernel_range (start=<optimized out>, end=<optimized out>) at arch/arm/kernel/smp_tlb.c:199
#2 0xc0124fcc in __purge_vmap_area_lazy (start=<optimized out>, end=0xce06dd8c, sync=<optimized out>, force_flush=<optimized out>) at mm/vmalloc.c:636
#3 0xc0125238 in try_purge_vmap_area_lazy () at mm/vmalloc.c:655
#4 free_vmap_area_noflush (va=<optimized out>) at mm/vmalloc.c:678
#5 0xc01253c0 in free_unmap_vmap_area_noflush (va=<optimized out>) at mm/vmalloc.c:688
#6 free_unmap_vmap_area (va=0xc44b3940) at mm/vmalloc.c:697
#7 0xc0126c28 in remove_vm_area (addr=<optimized out>) at mm/vmalloc.c:1419
#8 0xc0126c78 in __vunmap (addr=0xbf00a000, deallocate_pages=-364908544) at mm/vmalloc.c:1438
#9 0xc0126ea8 in vunmap (addr=0xbf00a000) at mm/vmalloc.c:1513
#10 0xc001d760 in __iounmap (io_addr=<optimized out>) at arch/arm/mm/ioremap.c:429
#11 0xc001d6c4 in __arm_iounmap (io_addr=<optimized out>) at arch/arm/mm/ioremap.c:436
#12 0xc00216bc in do_switch_fastboot () at arch/arm/mach-imx/system.c:111
#13 0xc0021830 in arch_reset_special_mode (mode=<optimized out>, cmd=<optimized out>) at arch/arm/mach-imx/system.c:121
#14 mxc_restart (mode=<optimized out>, cmd=0xce06de88 "bootloader") at arch/arm/mach-imx/system.c:137
#15 0xc000fbf0 in machine_restart (cmd=0xce06de88 "bootloader") at arch/arm/kernel/process.c:292
#16 0xc005f34c in kernel_restart (cmd=0xce06de88 "bootloader") at kernel/reboot.c:143
#17 0xc005f68c in SYSC_reboot (arg=<optimized out>, cmd=<optimized out>, magic2=<optimized out>, magic1=<optimized out>) at kernel/reboot.c:265
#18 SyS_reboot (magic1=-18751827, magic2=<optimized out>, cmd=<optimized out>, arg=-1095332841) at kernel/reboot.c:199
Any idea what is going on?
Hi Emil,
We are internally reviewing your case.
I will post an update as soon as having news.
Best regards!
/Carlos
Hi Emil,
Can you provide more information? Where do you reboot? What board?
It is best to provide all the log.
Best regards!
/Carlos
Sorry for the late reply.
The board is a custom imx6DL, running Android 5.1.1. This occured when rebooting, e.g. from command line "reboot bootloader".
I never found out why, but worked around this by removing the "iounmap(addr);" in do_switch_recovery (arch/arm/mach-imx/system.c).