[HTC Wildfire S] WoefulDerelict:
Points of interest...

When browsing the recovery logs submitted by sorinaugusto I've spotted 3 points of interest.

The first revolves around the Cypress C8YC_TMA touch-screen driver. This is the digitiser that handles touch input and I believe it is common to all WFS devices. I can see it being used in the first log, which if I don't miss my guess if from a happy functioning ROM boot, and it isn't complaining; however, in recovery it generates this:

<6>[ 6.278259] cy8c_ts_init: enter
<7>[ 6.278686] cy8c_ts_probe: enter
<6>[ 6.278869] marvel_ts_cy8c_power():
<6>[ 6.337188] CY8CTMA340 0-0067: buf: 11, 0, 0, 15
<6>[ 6.337402] CY8CTMA340 0-0067: application verion = 15, x_channel = F, y_channel = A
<6>[ 6.476348] CY8CTMA340 0-0067: orient: 0
<6>[ 6.476654] input_set_abs_params: mix_x 0, max_x 1023, min_y 0, max_y 940
<6>[ 6.477264] input: cy8c-touchscreen as /devices/virtual/input/input1
<6>[ 6.477905] CY8CTMA340 0-0067: Start touchscreen cy8c-touchscreen in interrupt mode
<3>[ 6.478393] msm_i2c msm_i2c.0: error, status c8 (48,81,00)(67,00,00)(cnt:1,pos:0)
<3>[ 6.478790] msm_i2c msm_i2c.0: Error during data xfer (-5)(48,81,00)
<3>[ 6.489501] msm_i2c msm_i2c.0: error, status c8 (48,81,00)(48,81,00)(cnt:1,pos:0)
<3>[ 6.490264] msm_i2c msm_i2c.0: Error during data xfer (-5)(48,81,00)
<3>[ 6.500762] msm_i2c msm_i2c.0: error, status 43c8 (48,81,00)(48,81,00)(cnt:1,pos:0)
<3>[ 6.501007] msm_i2c msm_i2c.0: Error during data xfer (-5)(48,81,00)
<3>[ 6.511474] msm_i2c msm_i2c.0: error, status 83c8 (48,81,00)(48,81,00)(cnt:1,pos:0)
<3>[ 6.511871] msm_i2c msm_i2c.0: Error during data xfer (-5)(48,81,00)
<3>[ 6.522186] msm_i2c msm_i2c.0: error, status 83c8 (48,81,00)(48,81,00)(cnt:1,pos:0)
<3>[ 6.522583] msm_i2c msm_i2c.0: Error during data xfer (-5)(48,81,00)
<3>[ 6.532867] msm_i2c msm_i2c.0: error, status 83c8 (48,81,00)(48,81,00)(cnt:1,pos:0)
<3>[ 6.533264] msm_i2c msm_i2c.0: Error during data xfer (-5)(48,81,00)
<3>[ 6.543762] msm_i2c msm_i2c.0: error, status 83c8 (48,81,00)(48,81,00)(cnt:1,pos:0)
<3>[ 6.543975] msm_i2c msm_i2c.0: Error during data xfer (-5)(48,81,00)
<3>[ 6.554443] msm_i2c msm_i2c.0: error, status 83c8 (48,81,00)(48,81,00)(cnt:1,pos:0)
<3>[ 6.554840] msm_i2c msm_i2c.0: Error during data xfer (-5)(48,81,00)
<3>[ 6.565155] msm_i2c msm_i2c.0: error, status 83c8 (48,81,00)(48,81,00)(cnt:1,pos:0)
<3>[ 6.565551] msm_i2c msm_i2c.0: Error during data xfer (-5)(48,81,00)
<3>[ 6.575866] msm_i2c msm_i2c.0: error, status 83c8 (48,81,00)(48,81,00)(cnt:1,pos:0)
<3>[ 6.576263] msm_i2c msm_i2c.0: Error during data xfer (-5)(48,81,00)
<3>[ 6.587097] i2c_write_block retry over 10

The second blob relates directly to the display. Sadly these are the only complaints I'm spotting and it doesn't help me pinpoint the problem.

<4>[ 10.137237] [DISP]msmfb_pan_display timeout rerequest vsync
<4>[ 10.467163] [DISP]msmfb_pan_display timeout waiting for frame start, 2 1
<4>[ 11.117218] [DISP]msmfb_pan_display timeout rerequest vsync
<4>[ 11.447174] [DISP]msmfb_pan_display timeout waiting for frame start, 2 1

The final group of issues that caught my eye is probably the least transparent.

<3>[ 65.897521] BUG: sleeping function called from invalid context at mm/slab.c:3102
<3>[ 65.897521] in_atomic(): 1, irqs_disabled(): 128, pid: 0, name: swapper
<4>[ 65.897521] Backtrace:
<4>[ 65.897521] [<c0036a3c>] (dump_backtrace+0x0/0x114) from [<c0405ea0>] (dump_stack+0x18/0x1c)
<4>[ 65.897521] r7:000000d0 r6:000080d0 r5:da8000c0 r4:c051ed70
<4>[ 65.897521] [<c0405e88>] (dump_stack+0x0/0x1c) from [<c006ac48>] (__might_sleep+0x108/0x128)
<4>[ 65.897521] [<c006ab40>] (__might_sleep+0x0/0x128) from [<c00d87f8>] (kmem_cache_alloc+0x34/0x108)
<4>[ 65.897521] r4:c051dde0
<4>[ 65.897521] [<c00d87c4>] (kmem_cache_alloc+0x0/0x108) from [<c00d4950>] (__get_vm_area_node+0xac/0x128)
<4>[ 65.897521] r7:000000d0 r6:00002000 r5:00000001 r4:c051dde0
<4>[ 65.897521] [<c00d48a4>] (__get_vm_area_node+0x0/0x128) from [<c00d4a68>](get_vm_area_caller+0x4c/0x58)
<4>[ 65.897521] [<c00d4a1c>] (get_vm_area_caller+0x0/0x58) from [<c0039718>] (__arm_ioremap_pfn_caller+0x64/0x164)
<4>[ 65.897521] [<c00396b4>] (__arm_ioremap_pfn_caller+0x0/0x164) from [<c0039898>] (__arm_ioremap_caller+0x60/0x68)
<4>[ 65.897521] [<c0039838>] (__arm_ioremap_caller+0x0/0x68) from [<c00398b4>] (__arm_ioremap+0x14/0x18)
<4>[ 65.897521] r5:00000001 r4:c055f9e4
<4>[ 65.897521] [<c00398a0>] (__arm_ioremap+0x0/0x18) from [<c003c250>] (__msm_ioremap+0x28/0x2c)
<4>[ 65.897521] [<c003c228>] (__msm_ioremap+0x0/0x2c) from [<c003d118>] (write_to_strongly_ordered_memory+0x48/0x6c)
<4>[ 65.897521] [<c003d0d0>] (write_to_strongly_ordered_memory+0x0/0x6c) from[<c003c220>] (l2x0_suspend+0x12c/0x134)
<4>[ 65.897521] r5:00000001 r4:00000002
<4>[ 65.897521] [<c003c0f4>] (l2x0_suspend+0x0/0x134) from [<c0058118>] (msm_sleep+0x2d4/0x598)
<4>[ 65.897521] [<c0057e44>] (msm_sleep+0x0/0x598) from [<c005869c>] (arch_idle+0x294/0x420)
<4>[ 65.897521] [<c0058408>] (arch_idle+0x0/0x420) from [<c0033a74>] (default_idle+0x28/0x30)
<4>[ 65.897521] [<c0033a4c>] (default_idle+0x0/0x30) from [<c02d1df4>] (cpufreq_idle+0x20/0x6c)
<4>[ 65.897521] [<c02d1dd4>] (cpufreq_idle+0x0/0x6c) from [<c0033d38>] (cpu_idle+0x50/0xa8)
<4>[ 65.897521] r7:c051fa00 r6:c055f844 r5:c051fa08 r4:c051c000
<4>[ 65.897521] [<c0033ce8>] (cpu_idle+0x0/0xa8) from [<c0402c1c>] (rest_init+0xc0/0xe4)
<4>[ 65.897521] r7:c051fa00 r6:c0028014 r5:00000000 r4:c051c000
<4>[ 65.897521] [<c0402b5c>] (rest_init+0x0/0xe4) from [<c0008a24>] (start_kernel+0x288/0x2ec)
<4>[ 65.897521] r5:00000000 r4:c05e7680
<4>[ 65.897521] [<c000879c>] (start_kernel+0x0/0x2ec) from [<12c08034>] (0x12c08034)
<3>[ 245.957336] INFO: task rpcrouter:18 blocked for more than 120 seconds.
<3>[ 245.957824] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
<6>[ 245.958679] rpcrouter D c04067cc 0 18 2 0x00000000
<4>[ 245.960021] Backtrace:
<4>[ 245.961364] [<c0406124>] (schedule+0x0/0x7d4) from [<c00471f4>] (rr_read+0x178/0x1a4)
<4>[ 245.961883] [<c004707c>] (rr_read+0x0/0x1a4) from [<c00473ac>] (do_read_data+0x1c/0x7d0)
<4>[ 245.962799] [<c0047390>] (do_read_data+0x0/0x7d0) from [<c0083ab8>] (worker_thread+0x18c/0x23c)
<4>[ 245.963653] r8:da0c5f84 r7:da0a3788 r6:c0047390 r5:da0a3780 r4:da0c4000
<4>[ 245.966400] [<c008392c>] (worker_thread+0x0/0x23c) from [<c00878b4>] (kthread+0x84/0x8c)
<4>[ 245.967346] [<c0087830>] (kthread+0x0/0x8c) from [<c0074184>] (do_exit+0x0/0x6b0)
<4>[ 245.968200] r7:00000013 r6:c0074184 r5:c0087830 r4:da82fd70
<3>[ 365.967346] INFO: task rpcrouter:18 blocked for more than 120 seconds.
<3>[ 365.968231] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
<6>[ 365.969085] rpcrouter D c04067cc 0 18 2 0x00000000
<4>[ 365.970428] Backtrace:
<4>[ 365.971405] [<c0406124>] (schedule+0x0/0x7d4) from [<c00471f4>] (rr_read+0x178/0x1a4)
<4>[ 365.972290] [<c004707c>] (rr_read+0x0/0x1a4) from [<c00473ac>] (do_read_data+0x1c/0x7d0)
<4>[ 365.973205] [<c0047390>] (do_read_data+0x0/0x7d0) from [<c0083ab8>] (worker_thread+0x18c/0x23c)
<4>[ 365.973693] r8:da0c5f84 r7:da0a3788 r6:c0047390 r5:da0a3780 r4:da0c4000
<4>[ 365.976806] [<c008392c>] (worker_thread+0x0/0x23c) from [<c00878b4>] (kthread+0x84/0x8c)
<4>[ 365.977752] [<c0087830>] (kthread+0x0/0x8c) from [<c0074184>] (do_exit+0x0/0x6b0)
<4>[ 365.978240] r7:00000013 r6:c0074184 r5:c0087830 r4:da82fd70

I have the original source code from HTC along with the newest code from the Cryptomilk git but, I could use more data to help me trace this issue back to it's origin.