In addition to that i also could see some dependency on USB for graceful reboot.
Every time during soft reboot, i can see crash:
The crash points at adbd process. (issue during adb_release).
I tried to block the process for test and to find root cause:
setprop persist.service.adb.enable 0
finally it was ending in USB issue itself.
[ 38.883544] [<c0026a68>] (clk_disable+0x44/0x50) from [<c033ecf8>] (ab8500_usb_phy_disable+0x64/0xec)
[ 38.883575] [<c033ecf8>] (ab8500_usb_phy_disable+0x64/0xec) from [<c033ee98>] (ab8500_usb_phy_disable_work+0x3c/0x50)
[ 38.883605] [<c033ee98>] (ab8500_usb_phy_disable_work+0x3c/0x50) from [<c004f8a4>] (process_one_work+0x138/0x4ac)
Related to this, i can see the warning just when we reboot:
WARNING: at arch/arm/mach-ux500/clock.c:161 clk_disable+0x44/0x50()
It clearly shows something is blocking from usb for graceful reboot.
I can as well see that even though there was nothing connected to USB, ab8500_usb_phy_disable gets called.
This is not right design.
It should get called only if there is something connected.
When Clock not enabled, caling clk_disable is not right.
Discussing with USB team on the same.
According to them even in 8500 they followed the same architecture.
Code compare between the two is not giving much scope to change. (as code almost similar between snowball and u8500).
In addition to that i also could see some dependency on USB for graceful reboot.
Every time during soft reboot, i can see crash:
The crash points at adbd process. (issue during adb_release).
I tried to block the process for test and to find root cause: service. adb.enable 0
setprop persist.
finally it was ending in USB issue itself. 0x44/0x50) from [<c033ecf8>] (ab8500_ usb_phy_ disable+ 0x64/0xec) usb_phy_ disable+ 0x64/0xec) from [<c033ee98>] (ab8500_ usb_phy_ disable_ work+0x3c/ 0x50) usb_phy_ disable_ work+0x3c/ 0x50) from [<c004f8a4>] (process_ one_work+ 0x138/0x4ac)
[ 38.883544] [<c0026a68>] (clk_disable+
[ 38.883575] [<c033ecf8>] (ab8500_
[ 38.883605] [<c033ee98>] (ab8500_
Related to this, i can see the warning just when we reboot: mach-ux500/ clock.c: 161 clk_disable+ 0x44/0x50( )
WARNING: at arch/arm/
It clearly shows something is blocking from usb for graceful reboot.
I can as well see that even though there was nothing connected to USB, ab8500_ usb_phy_ disable gets called.
This is not right design.
It should get called only if there is something connected.
When Clock not enabled, caling clk_disable is not right.
Discussing with USB team on the same.
According to them even in 8500 they followed the same architecture.
Code compare between the two is not giving much scope to change. (as code almost similar between snowball and u8500).