summaryrefslogtreecommitdiff
path: root/drivers/remoteproc
diff options
context:
space:
mode:
authorBjorn Andersson <bjorn.andersson@linaro.org>2017-08-28 08:31:42 +0300
committerBjorn Andersson <bjorn.andersson@linaro.org>2017-08-31 02:29:55 +0300
commitf9cbbd256ccebc5911cb163f1cbb59fefd173d9a (patch)
treec07d366843b9ff02e58d2c8d90c83535b7d380ec /drivers/remoteproc
parenta0ff4aa6f010801b2a61c203c6e09d01b110fddf (diff)
downloadlinux-f9cbbd256ccebc5911cb163f1cbb59fefd173d9a.tar.xz
remoteproc: Stop subdevices in reverse order
Subdevices might depend on earlier registered subdevices for communication purposes, as such they should be stopped in reverse order so that said communication channel is removed after the dependent subdevice is stopped. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'drivers/remoteproc')
-rw-r--r--drivers/remoteproc/remoteproc_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index 48b2c5ddfb4d..8072df1f0f94 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -794,7 +794,7 @@ static void rproc_remove_subdevices(struct rproc *rproc)
{
struct rproc_subdev *subdev;
- list_for_each_entry(subdev, &rproc->subdevs, node)
+ list_for_each_entry_reverse(subdev, &rproc->subdevs, node)
subdev->remove(subdev);
}