diff mbox

remoteproc: Move rproc_delete_debug_dir() to rproc_del()

Message ID 1485222528-20603-1-git-send-email-spjoshi@codeaurora.org (mailing list archive)
State Not Applicable, archived
Delegated to: Andy Gross
Headers show

Commit Message

Sarangdhar Joshi Jan. 24, 2017, 1:48 a.m. UTC
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>
---
 drivers/remoteproc/remoteproc_core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Bjorn Andersson Jan. 30, 2017, 10:01 p.m. UTC | #1
On Mon 23 Jan 17:48 PST 2017, Sarangdhar Joshi wrote:

> 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>

I moved the rproc_delete_debug_dir() below the list_del() region to
allow reuse of the critical region in the upcoming "deleted" patch.

Applied, thank you.

Regards,
Bjorn

> ---
>  drivers/remoteproc/remoteproc_core.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
> index 953ee29..78200a7 100644
> --- a/drivers/remoteproc/remoteproc_core.c
> +++ b/drivers/remoteproc/remoteproc_core.c
> @@ -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);
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bjorn Andersson Jan. 30, 2017, 10:13 p.m. UTC | #2
On Mon 30 Jan 14:01 PST 2017, Bjorn Andersson wrote:

> On Mon 23 Jan 17:48 PST 2017, Sarangdhar Joshi wrote:
> 
> > 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>
> 
> I moved the rproc_delete_debug_dir() below the list_del() region to
> allow reuse of the critical region in the upcoming "deleted" patch.
> 

Never mind, I failed at reading. I re-applied this as is.

Regards,
Bjorn

> Applied, thank you.
> 
> Regards,
> Bjorn
> 
> > ---
> >  drivers/remoteproc/remoteproc_core.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
> > index 953ee29..78200a7 100644
> > --- a/drivers/remoteproc/remoteproc_core.c
> > +++ b/drivers/remoteproc/remoteproc_core.c
> > @@ -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);
> > -- 
> > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> > a Linux Foundation Collaborative Project
> > 
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index 953ee29..78200a7 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -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);