Comment 32 for bug 872833

Revision history for this message
Sunil Kamath (sunil-kamath) wrote : Re: Snowball: Device hangs while bootup with both soft/hard boot

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).