diff mbox

pwm: fix device reference leak

Message ID 1477997199-29305-1-git-send-email-johan@kernel.org
State Accepted
Headers show

Commit Message

Johan Hovold Nov. 1, 2016, 10:46 a.m. UTC
Make sure to drop the reference to the parent device taken by
class_find_device() after "unexporting" any children when deregistering
a pwm chip.

Fixes: 0733424c9ba9 ("pwm: Unexport children before chip removal")
Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/pwm/sysfs.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Johan Hovold Nov. 17, 2016, 2:31 p.m. UTC | #1
On Tue, Nov 01, 2016 at 11:46:39AM +0100, Johan Hovold wrote:
> Make sure to drop the reference to the parent device taken by
> class_find_device() after "unexporting" any children when deregistering
> a pwm chip.
> 
> Fixes: 0733424c9ba9 ("pwm: Unexport children before chip removal")
> Signed-off-by: Johan Hovold <johan@kernel.org>
> ---
>  drivers/pwm/sysfs.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/pwm/sysfs.c b/drivers/pwm/sysfs.c
> index 0296d8178ae2..a813239300c3 100644
> --- a/drivers/pwm/sysfs.c
> +++ b/drivers/pwm/sysfs.c
> @@ -425,6 +425,8 @@ void pwmchip_sysfs_unexport_children(struct pwm_chip *chip)
>  		if (test_bit(PWMF_EXPORTED, &pwm->flags))
>  			pwm_unexport_child(parent, pwm);
>  	}
> +
> +	put_device(parent);
>  }
>  
>  static int __init pwm_sysfs_init(void)

Thought I'd send a gentle reminder about this one. Is it still in your
queue, Thierry?

Thanks,
Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-pwm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Thierry Reding Nov. 29, 2016, 3:47 p.m. UTC | #2
On Tue, Nov 01, 2016 at 11:46:39AM +0100, Johan Hovold wrote:
> Make sure to drop the reference to the parent device taken by
> class_find_device() after "unexporting" any children when deregistering
> a pwm chip.
> 
> Fixes: 0733424c9ba9 ("pwm: Unexport children before chip removal")
> Signed-off-by: Johan Hovold <johan@kernel.org>
> ---
>  drivers/pwm/sysfs.c | 2 ++
>  1 file changed, 2 insertions(+)

Applied, thanks.

Thierry
diff mbox

Patch

diff --git a/drivers/pwm/sysfs.c b/drivers/pwm/sysfs.c
index 0296d8178ae2..a813239300c3 100644
--- a/drivers/pwm/sysfs.c
+++ b/drivers/pwm/sysfs.c
@@ -425,6 +425,8 @@  void pwmchip_sysfs_unexport_children(struct pwm_chip *chip)
 		if (test_bit(PWMF_EXPORTED, &pwm->flags))
 			pwm_unexport_child(parent, pwm);
 	}
+
+	put_device(parent);
 }
 
 static int __init pwm_sysfs_init(void)