From 6ca25f858d89c2e31f28f7c7eb28d34866245f0a Mon Sep 17 00:00:00 2001 From: Maulik Shah Date: Sun, 4 Jul 2021 12:51:45 +0530 Subject: [PATCH] drivers: rpmh: Always bug_on() upon timeout in rpmh_write_batch() rpmh_rsc_debug() can race with tcs_tx_done() interrupt handler and may not see any tcs busy and hence won't do bug_on(). Later it may go ahead and free() the request which interrupt handler is processing. Lets always bug_on() upon timeout. Change-Id: I238a6a3639077850df158cb1f0190656e014bb57 Signed-off-by: Maulik Shah --- drivers/soc/qcom/rpmh.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/soc/qcom/rpmh.c b/drivers/soc/qcom/rpmh.c index bda109faa0c7..141ecd121440 100644 --- a/drivers/soc/qcom/rpmh.c +++ b/drivers/soc/qcom/rpmh.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* - * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved. */ #include @@ -478,12 +478,10 @@ int rpmh_write_batch(const struct device *dev, enum rpmh_state state, * we've returned from this function. */ rpmh_rsc_debug(ctrlr_to_drv(ctrlr), &compls[i]); - ret = -ETIMEDOUT; - goto exit; + BUG_ON(1); } } -exit: kfree(ptr); return ret;