summaryrefslogtreecommitdiffstats
path: root/drivers/input/misc
diff options
context:
space:
mode:
authorPaweł Chmiel <pawel.mikolaj.chmiel@gmail.com>2019-01-28 11:13:34 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-03-23 20:09:42 +0100
commitbac70a89419abe43d516b40850a4b3a0134e7466 (patch)
tree2824175dcb53ef7e9cf9f4f63cc189c3bf9dc78d /drivers/input/misc
parent0ed72d3f6f1d62a4759595e9c87c725bf110b95b (diff)
downloadlinux-stable-bac70a89419abe43d516b40850a4b3a0134e7466.tar.gz
linux-stable-bac70a89419abe43d516b40850a4b3a0134e7466.tar.bz2
linux-stable-bac70a89419abe43d516b40850a4b3a0134e7466.zip
Input: pwm-vibra - stop regulator after disabling pwm, not before
[ Upstream commit 94803aef3533676194c772383472636c453e3147 ] This patch fixes order of disable calls in pwm_vibrator_stop. Currently when starting device, we first enable vcc regulator and then setup and enable pwm. When stopping, we should do this in oposite order, so first disable pwm and then disable regulator. Previously order was the same as in start. Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/input/misc')
-rw-r--r--drivers/input/misc/pwm-vibra.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/input/misc/pwm-vibra.c b/drivers/input/misc/pwm-vibra.c
index 9df87431d7d4..dbb6d9e1b947 100644
--- a/drivers/input/misc/pwm-vibra.c
+++ b/drivers/input/misc/pwm-vibra.c
@@ -80,14 +80,14 @@ static int pwm_vibrator_start(struct pwm_vibrator *vibrator)
static void pwm_vibrator_stop(struct pwm_vibrator *vibrator)
{
+ if (vibrator->pwm_dir)
+ pwm_disable(vibrator->pwm_dir);
+ pwm_disable(vibrator->pwm);
+
if (vibrator->vcc_on) {
regulator_disable(vibrator->vcc);
vibrator->vcc_on = false;
}
-
- if (vibrator->pwm_dir)
- pwm_disable(vibrator->pwm_dir);
- pwm_disable(vibrator->pwm);
}
static void pwm_vibrator_play_work(struct work_struct *work)