Input: pwm-vibra - stop regulator after disabling pwm, not before
authorPaweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
Mon, 28 Jan 2019 19:13:34 +0000 (11:13 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 28 Jan 2019 19:24:19 +0000 (11:24 -0800)
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>
drivers/input/misc/pwm-vibra.c

index 9df87431d7d4ed68b7ee25cfc374880c9da30aeb..dbb6d9e1b9471380b50d66af222c89c75d472ac5 100644 (file)
@@ -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)