Commit ff34f3cc authored by Will Deacon's avatar Will Deacon
Browse files

firmware: qcom: scm: Ensure 'a0' status code is treated as signed



The 'a0' member of 'struct arm_smccc_res' is declared as 'unsigned long',
however the Qualcomm SCM firmware interface driver expects to receive
negative error codes via this field, so ensure that it's cast to 'long'
before comparing to see if it is less than 0.

Cc: <stable@vger.kernel.org>
Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent ee9bdfed
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -150,7 +150,7 @@ static int qcom_scm_call(struct device *dev, u32 svc_id, u32 cmd_id,
		kfree(args_virt);
	}

	if (res->a0 < 0)
	if ((long)res->a0 < 0)
		return qcom_scm_remap_error(res->a0);

	return 0;