No subject
Tue Aug 30 19:13:18 CEST 2011
before we have suspended. To verify this theory I disabled
gta02_bat_get_voltage with systemtap: the kernel does not hang in this
way anymore:
13) cat > disable-gta02_bat_get_voltage.stp <<EOF
#!/usr/bin/stap -g
function _begin () %{
/* Address of branch inside gta02_bat_get_voltage to
pcf50633_adc_sync_read */
__u32 *branch = (void*)0xc002eda4;
_stp_printf("*branch = %x\n", *branch);
if (*branch == 0xeb062230) {
*branch = 0xe1a00000; /* nop */
}
%}
function _end () %{
/* Address of branch inside gta02_bat_get_voltage to
pcf50633_adc_sync_read */
__u32 *branch = (void*)0xc002eda4;
_stp_printf("*branch = %x\n", *branch);
if (*branch == 0xe1a00000) {
*branch = 0xeb062230; /* bl */
}
%}
probe begin {
_begin();
}
probe end {
_end();
}
EOF
14) chmod a+x disable-gta02_bat_get_voltage.stp
15) ./disable-gta02_bat_get_voltage.stp
Unfortunately there are still other suspend bugs that are less common
but still sometimes occur.
-Timo
More information about the openmoko-kernel
mailing list