Found Division by zero in kernel.
htc_rhod_batt_corr() in file htc_battery_smem.c
Code:
BATT("htc_get_batt_info 888\n");
/* TODO: temp algo is not ok..if someone have the timte -> must look into the driver */
buffer->batt_tempRAW = ( buffer->batt_tempRAW * 5200 ) / htc_adc_range;
BATT("htc_get_batt_info 999\n");
av_index = ( buffer->batt_tempRAW * 18 ) / ( 2600 - buffer->batt_tempRAW );
BATT("htc_get_batt_info aaa\n");
buffer->batt_tempRAW = htc_battery_temperature_lut( av_index );
if ( buffer->batt_tempRAW < 250 ) /* fixed til so long we can get constant values - otherwise the algo wouln'T work good */
buffer->batt_tempRAW = 250;
BATT("htc_get_batt_info bbb\n");
fix_batt_values(buffer);
BATT("htc_get_batt_info ccc\n");
htc_battery_level_compute( buffer );
BATT("htc_get_batt_info ddd\n");
return 0;
Quote:
<6>[ 4413.083618] [BATT] htc_get_batt_info 444
<6>[ 4413.083679] [BATT] htc_get_batt_info 555
<6>[ 4413.083770] [BATT] htc_get_batt_info 666
<6>[ 4413.083801] [BATT] htc_get_batt_info 888
<6>[ 4413.083862] [BATT] htc_get_batt_info 999
<4>[ 4413.083892] Division by zero in kernel.
<4>[ 4413.083923] [<c0281e48>] (dump_stack+0x0/0x14) from [<c002df94>] (__div0+0x18/0x20)
<4>[ 4413.084075] [<c002df7c>] (__div0+0x0/0x20) from [<c0142f4c>] (Ldiv0+0x8/0x10)
<4>[ 4413.084197] [<c00568ec>] (htc_get_batt_info+0x0/0x9a4) from [<c0057d30>] (htc_battery_thread+0x54/0xa0)
<4>[ 4413.084350] [<c0057cdc>] (htc_battery_thread+0x0/0xa0) from [<c0060f8c>] (do_exit+0x0/0x7a
<4>[ 4413.084472] r7:00000000 r6:00000000 r5:00000000 r4:00000000
<6>[ 4413.084533] [BATT] htc_get_batt_info aaa
<6>[ 4413.084564] [BATT] htc_get_batt_info bbb
<6>[ 4413.084625] [BATT] htc_get_batt_info ccc
<6>[ 4413.084655] [BATT] htc_get_batt_info ddd
<6>[ 4413.084686] [BATT] htc_get_batt_info 777
<6>[ 4423.102691] [BATT] htc_get_batt_info 111
|
HeroC battery driver, many different,
https://raw.github.com/TeamICS/heroc.../htc_battery.c
Our battery chip is ds2746, same as HD2?