remoteproc: Properly deal with a kernel panic when attached
authorMathieu Poirier <mathieu.poirier@linaro.org>
Fri, 12 Mar 2021 16:24:49 +0000 (09:24 -0700)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 18 Mar 2021 13:02:08 +0000 (08:02 -0500)
The panic handler operation of registered remote processors
should also be called when remote processors have been
attached to.

Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Link: https://lore.kernel.org/r/20210312162453.1234145-14-mathieu.poirier@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/remoteproc_core.c

index 163fad5..4cf6ef7 100644 (file)
@@ -2733,7 +2733,11 @@ static int rproc_panic_handler(struct notifier_block *nb, unsigned long event,
 
        rcu_read_lock();
        list_for_each_entry_rcu(rproc, &rproc_list, node) {
-               if (!rproc->ops->panic || rproc->state != RPROC_RUNNING)
+               if (!rproc->ops->panic)
+                       continue;
+
+               if (rproc->state != RPROC_RUNNING &&
+                   rproc->state != RPROC_ATTACHED)
                        continue;
 
                d = rproc->ops->panic(rproc);