remoteproc: Move rproc_delete_debug_dir() to rproc_del()
authorSarangdhar Joshi <spjoshi@codeaurora.org>
Tue, 24 Jan 2017 01:48:48 +0000 (17:48 -0800)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 30 Jan 2017 22:18:40 +0000 (14:18 -0800)
The "remoteproc{0,1...}" sysfs entries are added in
rproc_add() and deleted in rproc_type_release() instead of
in rproc_del(). That leaves these lingering entries sticking
around after we return from rproc_del(). Move the
rproc_delete_debug_dir() to rproc_del() to fix this.

Signed-off-by: Sarangdhar Joshi <spjoshi@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/remoteproc_core.c

index 90b05c72186c4f9e9c37a812ec469a738d253e95..44f119a671fedb972bfceec46e27aa477cbc0226 100644 (file)
@@ -1315,8 +1315,6 @@ static void rproc_type_release(struct device *dev)
 
        dev_info(&rproc->dev, "releasing %s\n", rproc->name);
 
-       rproc_delete_debug_dir(rproc);
-
        idr_destroy(&rproc->notifyids);
 
        if (rproc->index >= 0)
@@ -1491,6 +1489,8 @@ int rproc_del(struct rproc *rproc)
        if (rproc->auto_boot)
                rproc_shutdown(rproc);
 
+       rproc_delete_debug_dir(rproc);
+
        /* the rproc is downref'ed as soon as it's removed from the klist */
        mutex_lock(&rproc_list_mutex);
        list_del(&rproc->node);