From 2029167b565071f6fb19ee3d928779308e1a7ca3 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
Date: Mon, 13 Mar 2017 13:25:00 +0100
Subject: [PATCH] ipq806x: fix crash on 4.9 if the rpm clock probe happens
 before cpuidle init

Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 .../0070-qcom-spm-fix-probe-order.patch          | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 target/linux/ipq806x/patches-4.9/0070-qcom-spm-fix-probe-order.patch

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
index 0000000000..b7e375dfb2
--- /dev/null
+++ b/target/linux/ipq806x/patches-4.9/0070-qcom-spm-fix-probe-order.patch
@@ -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)
-- 
GitLab