From c6a31f78b8653501705fa90f832d79fb37d62c18 Mon Sep 17 00:00:00 2001 From: Tushar Nimkar Date: Fri, 16 Apr 2021 15:35:50 +0530 Subject: [PATCH] soc: qcom: rpmh: check return value of __fill_rpmh_msg It is possible that number of commands to be send can exceed MAX_RPMH_PAYLOAD. This change adds error checking for such case. Change-Id: I9c05bf3befd6590fee4625230bb44d7711c625a7 Signed-off-by: Tushar Nimkar --- drivers/soc/qcom/rpmh.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/soc/qcom/rpmh.c b/drivers/soc/qcom/rpmh.c index 946145c3f292..33caa8e59f0d 100644 --- a/drivers/soc/qcom/rpmh.c +++ b/drivers/soc/qcom/rpmh.c @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -/* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. */ +/* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved. */ #include #include @@ -450,7 +450,10 @@ int rpmh_write_batch(const struct device *dev, enum rpmh_state state, req->rpm_msgs = rpm_msgs; for (i = 0; i < count; i++) { - __fill_rpmh_msg(rpm_msgs + i, state, cmd, n[i]); + ret = __fill_rpmh_msg(rpm_msgs + i, state, cmd, n[i]); + if (ret) + goto exit; + cmd += n[i]; }