All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chanwoo Choi <cw00.choi@samsung.com>
To: chris.diamand@arm.com, linux-pm@vger.kernel.org
Cc: Sudeep Holla <Sudeep.Holla@arm.com>,
	MyungJoo Ham <myungjoo.ham@samsung.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Nishanth Menon <nm@ti.com>, Cai Zhiyong <caizhiyong@huawei.com>,
	"cpgs (cpgs@samsung.com)" <cpgs@samsung.com>
Subject: Re: [PATCH v2] PM / devfreq: Don't delete sysfs group twice
Date: Fri, 13 Jan 2017 09:18:39 +0900	[thread overview]
Message-ID: <58781CDF.5090308@samsung.com> (raw)
In-Reply-To: <1484233061-22516-1-git-send-email-chris.diamand@arm.com>

Hi Chris,

Looks good to me.

Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>

On 2017년 01월 12일 23:57, chris.diamand@arm.com wrote:
> From: Chris Diamand <chris.diamand@arm.com>
> 
> The 'userspace' governor adds a sysfs entry, which is removed when
> the governor is changed, or the devfreq device is released. However,
> when the latter occurs via device_unregister(), device_del() is
> called first, which removes the sysfs entries recursively and deletes
> the kobject.
> 
> This means we get an Oops when the governor calls
> sysfs_remove_group() on the deleted kobject. Fix this by only doing
> the call when kobj *hasn't* been kobject_del()'d.
> 
> Note that we can't just remove the call to sysfs_remove_group()
> entirely - it's needed for when the governor is changed to one which
> doesn't need a sysfs entry.
> 
> Signed-off-by: Chris Diamand <chris.diamand@arm.com>
> ---
> Hi all - this is a resend of my updated devfreq removal fix.
> 
> This takes a different approach to v1, and fixes the issue in the governor
> instead. This means reference counting should still work as usual, so anything
> which doesn't call devfreq_remove_device() should still work.
> 
> Cheers!
> Chris
> 
>  drivers/devfreq/governor_userspace.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/devfreq/governor_userspace.c b/drivers/devfreq/governor_userspace.c
> index 35de6e8..9db4d6f 100644
> --- a/drivers/devfreq/governor_userspace.c
> +++ b/drivers/devfreq/governor_userspace.c
> @@ -112,7 +112,13 @@ static int userspace_init(struct devfreq *devfreq)
>  
>  static void userspace_exit(struct devfreq *devfreq)
>  {
> -	sysfs_remove_group(&devfreq->dev.kobj, &dev_attr_group);
> +	/*
> +	 * Remove the sysfs entry, unless this is being called after
> +	 * device_del(), which should have done this already via kobject_del().
> +	 */
> +	if (devfreq->dev.kobj.sd)
> +		sysfs_remove_group(&devfreq->dev.kobj, &dev_attr_group);
> +
>  	kfree(devfreq->data);
>  	devfreq->data = NULL;
>  }
> 


-- 
Best Regards,
Chanwoo Choi
S/W Center, Samsung Electronics

  reply	other threads:[~2017-01-13  0:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20170112145810epcas2p359a78f92ce8bd256a8f09c6e9c211cf1@epcas2p3.samsung.com>
2017-01-12 14:57 ` [PATCH v2] PM / devfreq: Don't delete sysfs group twice chris.diamand
2017-01-13  0:18   ` Chanwoo Choi [this message]
     [not found] <CGME20170112145811epcas2p1e8c07796d9c4630e25484b72ca1e94c0@epcas2p1.samsung.com>
2017-01-13  1:15 ` MyungJoo Ham
     [not found] ` <0dbe1e6db0f14888ae545aa7c9d780af@AM4PR0802MB2210.eurprd08.prod.outlook.com>
2017-01-13 14:16   ` Chris Diamand
     [not found] <CGME20161213171211epcas3p3ed8807883967daca28b7abe211446739@epcas3p3.samsung.com>
2016-12-13 17:09 ` [PATCH] " Chris Diamand
2016-12-14  1:38   ` Chanwoo Choi
2016-12-14  2:48     ` Chanwoo Choi
2016-12-14  9:29       ` Sudeep Holla
     [not found]         ` <172e4f85358b4f4e9206c4a54b5db056@AM4PR0802MB2210.eurprd08.prod.outlook.com>
2016-12-14 11:32           ` Chris Diamand
     [not found]             ` <7a342ead78be4f32a4a37b541fde412b@AM4PR0802MB2210.eurprd08.prod.outlook.com>
2016-12-15 10:41               ` Chris Diamand
     [not found]                 ` <f4620f8efbf247119640470ec12810fe@AM4PR0802MB2210.eurprd08.prod.outlook.com>
2016-12-16 19:09                   ` [PATCH v2] " Chris Diamand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=58781CDF.5090308@samsung.com \
    --to=cw00.choi@samsung.com \
    --cc=Sudeep.Holla@arm.com \
    --cc=caizhiyong@huawei.com \
    --cc=chris.diamand@arm.com \
    --cc=cpgs@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=myungjoo.ham@samsung.com \
    --cc=nm@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.