[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220519064111.3244079-1-peng.fan@oss.nxp.com>
Date: Thu, 19 May 2022 14:41:11 +0800
From: "Peng Fan (OSS)" <peng.fan@....nxp.com>
To: bjorn.andersson@...aro.org, mathieu.poirier@...aro.org,
linux-imx@....com, linux-remoteproc@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Cc: Peng Fan <peng.fan@....com>
Subject: [PATCH] remoteproc: core: check state in rproc_boot
From: Peng Fan <peng.fan@....com>
If remote processor has already been in RUNNING or ATTACHED
state, report it. Not just increment the power counter and return
success.
Without this patch, if m7 is in RUNNING state, and start it again,
nothing output to console.
If wanna to stop the m7, we need write twice 'stop'.
This patch is to improve that the 2nd start would show some useful
info.
Signed-off-by: Peng Fan <peng.fan@....com>
---
Not sure to keep power counter or not.
drivers/remoteproc/remoteproc_core.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index 02a04ab34a23..f37e0758c096 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -2005,6 +2005,12 @@ int rproc_boot(struct rproc *rproc)
goto unlock_mutex;
}
+ if (rproc->state == RPROC_RUNNING || rproc->state == RPROC_ATTACHED) {
+ ret = -EINVAL;
+ dev_err(dev, "%s already booted\n", rproc->name);
+ goto unlock_mutex;
+ }
+
/* skip the boot or attach process if rproc is already powered up */
if (atomic_inc_return(&rproc->power) > 1) {
ret = 0;
--
2.25.1
Powered by blists - more mailing lists