[PATCH 3.16 266/306] pwm: Fix device reference leak

From: Ben Hutchings
Date: Wed Feb 15 2017 - 19:26:00 EST

3.16.40-rc1 review patch. If anyone has any objections, please let me know.


From: Johan Hovold <johan@xxxxxxxxxx>

commit 0e1614ac84f1719d87bed577963bb8140d0c9ce8 upstream.

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@xxxxxxxxxx>
Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx>
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
drivers/pwm/sysfs.c | 2 ++
1 file changed, 2 insertions(+)

--- a/drivers/pwm/sysfs.c
+++ b/drivers/pwm/sysfs.c
@@ -356,6 +356,8 @@ void pwmchip_sysfs_unexport_children(str
if (test_bit(PWMF_EXPORTED, &pwm->flags))
pwm_unexport_child(parent, pwm);
+ put_device(parent);

static int __init pwm_sysfs_init(void)