22 Nov 2015 fzort   » (Journeyer)

Xperia E1 kernel tweaking (4)

Looks like the msm-thermal driver (responsible for throttling the CPU frequency when things get hot) was not loading:

<4>[ 0.760658] msm_thermal: Wrong number of cpu

Relevant code in drivers/thermal/msm_thermal.c:

key = "qcom,cpu-sensors";
cpu_cnt = of_property_count_strings(node, key);
if (cpu_cnt != num_possible_cpus()) {
        pr_err("%s: Wrong number of cpu\n", KBUILD_MODNAME);
        ret = -EINVAL;
        goto hotplug_node_fail;

Looks like a mistake in the device tree (someone must have copy-pasted the qcom,msm-thermal section from a chipset with 4 cores, but this one only has 2). The fix was easy enough.

This also seems to happen with stock Sony software. If this were one of the flagship Xperia devices, I suppose I could submit a pull request, since the code for those phones is on github. But this is the lowest-end Xperia, only released on third-world markets - probably Sony won't care.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!