[Epic 4G Android Development] toadlife:
I've been getting occasional random reboots EI22, and I've seen reports in the general forum of the same.

There seem to be two main causes of reboots:

WIFI Related (bcm4329 DHD Bus Module TX Queue overflow)​

The reboots always happen when WIFI is on. The system will freeze up hard for about 10-15 seconds and then just reset. The LAST_KMSG file shows 60KB of nothing but the following:

[ 5315.816399] dhd_bus_txdata: out of bus->txq !!!
[ 5315.820979] dhd_bus_txdata: out of bus->txq !!!
[ 5315.825411] dhd_bus_txdata: out of bus->txq !!!
[ 5315.829922] dhd_bus_txdata: out of bus->txq !!!
[ 5315.834499] dhd_bus_txdata: out of bus->txq !!!
[ 5315.838929] dhd_bus_txdata: out of bus->txq !!!
[ 5315.843505] dhd_bus_txdata: out of bus->txq !!!

OneDram driver related reboots​

After patching the WIFI related bugs I started to get these more often. Here is an example of the log leading up to the reboot.

[ 13.319028] [OneDRAM](dpram_write) Failed to get a Semaphore. sem:0, PHONE_ACTIVE:HIGH, fail_cnt:1
[ 13.339579] [OneDram] dpram_drop_data, head: 319, tail: 319
[ 13.351715] [OneDRAM](dpram_write) Failed to get a Semaphore. sem:0, PHONE_ACTIVE:HIGH, fail_cnt:1
[ 13.366965] [OneDram] dpram_drop_data, head: 319, tail: 319
[ 13.379178] [OneDRAM](dpram_write) Failed to get a Semaphore. sem:0, PHONE_ACTIVE:HIGH, fail_cnt:1

Another log sample from a reboot, right before it restarts...

[ 11.585629]
[ 11.585665] dpram_shutdown !!!!!!!!!!!!!!!!!!!!!
[ 11.590957]
[ 11.590986] dpram_shutdown ret : 0
[ 11.598695] Restarting system.
[ 11.600629] KERNEL:magic_number=0 CLEAR_UPLOAD_MAGIC_NUMBER
[ 11.608974] arch_reset: attempting watchdog reset

For the WIFI issue, I searched and found a set of patches on the linux driver project mailing list that address this issue.

See: http://driverdev.linuxdriverproject.org/pipermail/devel/2011-March/012948.html

After applying the patch verbatim I still got the WIFI related reboots, so I slowly pushed the TXQLEN values up until the reboots stopped. Here is the commit from my github that contains the patch that seems to have done the trick.

As for the OneDRAM related reboots, I think I may have found the solution to these too. The problem seems to have gone away when I switched the specific ARM toolchain that is mentioned in the Samsung kernel source README. Previously I was using the 4.4.x toolchain from Googles repo. Thanks to Earthbound for working with me on this one. Aside from Earthbound (he uses the recommended Codesourcery one), I don't know what toolchains others use, but I do know that I have not had one reboot in the four days since switching to the CodeSourcery toolchain.

Here is a kernel (source) with the WIFI fix that was compiled with the 2009-q3-68 toolchain. Aside from the WIFI fix, the kernel contains the following features:

root/su/busybox

init.d script support

bootanimation.zip support

overclock to 1.4/voltage control

keyboard delay fix

ext4/rfs support

CWM5/ROM Manager support (reboot bml8 recovery)

If you are having WIFI or dpram/onedram related reboots, you might want to give this kernel a try and report back.

NOTE: If you overclock or over/under volt please stop doing so if you want to test this kernel and post logs.