diff options
author | David Hsu <davidhsu@google.com> | 2016-08-09 14:57:46 -0700 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2016-11-24 16:23:36 +0100 |
commit | 82ed23da6bd0a676b236ef085f507a5b78a9fef8 (patch) | |
tree | 3962ddc181f6dd9330c156870957348585beb3de /drivers/pwm/core.c | |
parent | 6f02d1094b22cfec037b152a3e0f4fbb3d13e61e (diff) |
pwm: Unexport children before chip removal
commit 0733424c9ba9f42242409d1ece780777272f7ea1 upstream.
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>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'drivers/pwm/core.c')
-rw-r--r-- | drivers/pwm/core.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c index 2ca95042a0b9..c244e7dc6d66 100644 --- a/drivers/pwm/core.c +++ b/drivers/pwm/core.c @@ -293,6 +293,8 @@ int pwmchip_remove(struct pwm_chip *chip) unsigned int i; int ret = 0; + pwmchip_sysfs_unexport_children(chip); + mutex_lock(&pwm_lock); for (i = 0; i < chip->npwm; i++) { |