aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/input/misc/arizona-haptics.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/input/misc/arizona-haptics.c b/drivers/input/misc/arizona-haptics.c
index 7a04f54ef961..e7e12a5f5c2d 100644
--- a/drivers/input/misc/arizona-haptics.c
+++ b/drivers/input/misc/arizona-haptics.c
@@ -77,16 +77,14 @@ static void arizona_haptics_work(struct work_struct *work)
77 return; 77 return;
78 } 78 }
79 79
80 mutex_unlock(dapm_mutex);
81
80 ret = snd_soc_dapm_sync(arizona->dapm); 82 ret = snd_soc_dapm_sync(arizona->dapm);
81 if (ret != 0) { 83 if (ret != 0) {
82 dev_err(arizona->dev, "Failed to sync DAPM: %d\n", 84 dev_err(arizona->dev, "Failed to sync DAPM: %d\n",
83 ret); 85 ret);
84 mutex_unlock(dapm_mutex);
85 return; 86 return;
86 } 87 }
87
88 mutex_unlock(dapm_mutex);
89
90 } else { 88 } else {
91 /* This disable sequence will be a noop if already enabled */ 89 /* This disable sequence will be a noop if already enabled */
92 mutex_lock_nested(dapm_mutex, SND_SOC_DAPM_CLASS_RUNTIME); 90 mutex_lock_nested(dapm_mutex, SND_SOC_DAPM_CLASS_RUNTIME);
@@ -99,16 +97,15 @@ static void arizona_haptics_work(struct work_struct *work)
99 return; 97 return;
100 } 98 }
101 99
100 mutex_unlock(dapm_mutex);
101
102 ret = snd_soc_dapm_sync(arizona->dapm); 102 ret = snd_soc_dapm_sync(arizona->dapm);
103 if (ret != 0) { 103 if (ret != 0) {
104 dev_err(arizona->dev, "Failed to sync DAPM: %d\n", 104 dev_err(arizona->dev, "Failed to sync DAPM: %d\n",
105 ret); 105 ret);
106 mutex_unlock(dapm_mutex);
107 return; 106 return;
108 } 107 }
109 108
110 mutex_unlock(dapm_mutex);
111
112 ret = regmap_update_bits(arizona->regmap, 109 ret = regmap_update_bits(arizona->regmap,
113 ARIZONA_HAPTICS_CONTROL_1, 110 ARIZONA_HAPTICS_CONTROL_1,
114 ARIZONA_HAP_CTRL_MASK, 111 ARIZONA_HAP_CTRL_MASK,