[PATCH v5 03/19] remoteproc: Remove useless check in rproc_del()

Mathieu Poirier mathieu.poirier at linaro.org
Thu Feb 11 18:46:11 EST 2021

Whether started at probe() time or thereafter from the command
line, a remote processor needs to be shutdown before the final
cleanup phases can happen.  Otherwise the system may be left in
an unpredictable state where the remote processor is expecting
the remoteproc core to be providing services when in fact it
no longer exist.

Invariably calling rproc_shutdown() is fine since it will return
immediately if the remote processor has already been switched

Signed-off-by: Mathieu Poirier <mathieu.poirier at linaro.org>
Reviewed-by: Peng Fan <peng.fan at nxp.com>
Reviewed-by: Arnaud Pouliquen <arnaud.pouliquen at st.com>
 drivers/remoteproc/remoteproc_core.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index f1c097572e01..86bd66955060 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -2350,10 +2350,8 @@ int rproc_del(struct rproc *rproc)
 	if (!rproc)
 		return -EINVAL;
-	/* if rproc is marked always-on, rproc_add() booted it */
 	/* TODO: make sure this works with rproc->power > 1 */
-	if (rproc->auto_boot)
-		rproc_shutdown(rproc);
+	rproc_shutdown(rproc);
 	rproc->state = RPROC_DELETED;

More information about the linux-arm-kernel mailing list