aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pwm/core.c
diff options
context:
space:
mode:
authorDavid Hsu <davidhsu@google.com>2016-08-09 17:57:46 -0400
committerThierry Reding <thierry.reding@gmail.com>2016-09-05 10:45:39 -0400
commit0733424c9ba9f42242409d1ece780777272f7ea1 (patch)
tree7d4ab85ed86beb175351738eef22132d8987678e /drivers/pwm/core.c
parent29b4817d4018df78086157ea3a55c1d9424a7cfc (diff)
pwm: Unexport children before chip removal
Exported pwm channels aren't removed before the pwmchip and are leaked. This results in invalid sysfs files. This fix removes all exported pwm channels before chip removal. Signed-off-by: David Hsu <davidhsu@google.com> Fixes: 76abbdde2d95 ("pwm: Add sysfs interface") Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Diffstat (limited to 'drivers/pwm/core.c')
-rw-r--r--drivers/pwm/core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index 0dbd29e287db..172ef8245811 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -339,6 +339,8 @@ int pwmchip_remove(struct pwm_chip *chip)
339 unsigned int i; 339 unsigned int i;
340 int ret = 0; 340 int ret = 0;
341 341
342 pwmchip_sysfs_unexport_children(chip);
343
342 mutex_lock(&pwm_lock); 344 mutex_lock(&pwm_lock);
343 345
344 for (i = 0; i < chip->npwm; i++) { 346 for (i = 0; i < chip->npwm; i++) {