浏览代码

Merge tag 'qcom-fixes-for-4.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into fixes

Qualcomm Fixes for 4.17-rc7

* Fix crash in qcom_scm_call_atomic1()

* tag 'qcom-fixes-for-4.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  firmware: qcom: scm: Fix crash in qcom_scm_call_atomic1()

Signed-off-by: Olof Johansson <olof@lixom.net>
Olof Johansson 7 年之前
父节点
当前提交
0ec46ab642
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      drivers/firmware/qcom_scm-32.c

+ 4 - 4
drivers/firmware/qcom_scm-32.c

@@ -147,7 +147,7 @@ static u32 smc(u32 cmd_addr)
 			"smc	#0	@ switch to secure world\n"
 			"smc	#0	@ switch to secure world\n"
 			: "=r" (r0)
 			: "=r" (r0)
 			: "r" (r0), "r" (r1), "r" (r2)
 			: "r" (r0), "r" (r1), "r" (r2)
-			: "r3");
+			: "r3", "r12");
 	} while (r0 == QCOM_SCM_INTERRUPTED);
 	} while (r0 == QCOM_SCM_INTERRUPTED);
 
 
 	return r0;
 	return r0;
@@ -263,7 +263,7 @@ static s32 qcom_scm_call_atomic1(u32 svc, u32 cmd, u32 arg1)
 			"smc    #0      @ switch to secure world\n"
 			"smc    #0      @ switch to secure world\n"
 			: "=r" (r0)
 			: "=r" (r0)
 			: "r" (r0), "r" (r1), "r" (r2)
 			: "r" (r0), "r" (r1), "r" (r2)
-			: "r3");
+			: "r3", "r12");
 	return r0;
 	return r0;
 }
 }
 
 
@@ -298,7 +298,7 @@ static s32 qcom_scm_call_atomic2(u32 svc, u32 cmd, u32 arg1, u32 arg2)
 			"smc    #0      @ switch to secure world\n"
 			"smc    #0      @ switch to secure world\n"
 			: "=r" (r0)
 			: "=r" (r0)
 			: "r" (r0), "r" (r1), "r" (r2), "r" (r3)
 			: "r" (r0), "r" (r1), "r" (r2), "r" (r3)
-			);
+			: "r12");
 	return r0;
 	return r0;
 }
 }
 
 
@@ -328,7 +328,7 @@ u32 qcom_scm_get_version(void)
 			"smc	#0	@ switch to secure world\n"
 			"smc	#0	@ switch to secure world\n"
 			: "=r" (r0), "=r" (r1)
 			: "=r" (r0), "=r" (r1)
 			: "r" (r0), "r" (r1)
 			: "r" (r0), "r" (r1)
-			: "r2", "r3");
+			: "r2", "r3", "r12");
 	} while (r0 == QCOM_SCM_INTERRUPTED);
 	} while (r0 == QCOM_SCM_INTERRUPTED);
 
 
 	version = r1;
 	version = r1;