ipq806x: fix crash on 4.9 if the rpm clock probe happens before cpuidle init
authorFelix Fietkau <nbd@nbd.name>
Mon, 13 Mar 2017 12:25:00 +0000 (13:25 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 13 Mar 2017 12:40:56 +0000 (13:40 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
target/linux/ipq806x/patches-4.9/0070-qcom-spm-fix-probe-order.patch [new file with mode: 0644]

diff --git a/target/linux/ipq806x/patches-4.9/0070-qcom-spm-fix-probe-order.patch b/target/linux/ipq806x/patches-4.9/0070-qcom-spm-fix-probe-order.patch
new file mode 100644 (file)
index 0000000..b7e375d
--- /dev/null
@@ -0,0 +1,16 @@
+Check for SCM availability before attempting to use SPM
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+
+--- a/drivers/soc/qcom/spm.c
++++ b/drivers/soc/qcom/spm.c
+@@ -219,6 +219,9 @@ static int __init qcom_cpuidle_init(stru
+       cpumask_t mask;
+       bool use_scm_power_down = false;
++      if (!qcom_scm_is_available())
++              return -EPROBE_DEFER;
++
+       for (i = 0; ; i++) {
+               state_node = of_parse_phandle(cpu_node, "cpu-idle-states", i);
+               if (!state_node)