Thread (9 messages) 9 messages, 2 authors, 2015-02-24

Re: [PATCH v4 4/5] Input: add haptic drvier on max77843

From: Dmitry Torokhov <hidden>
Date: 2015-02-23 17:27:08
Also in: linux-devicetree, linux-pm, lkml

Hi Jaew9on,

On Mon, Feb 23, 2015 at 05:09:50PM +0900, Jaewon Kim wrote:
This patch adds support for haptic driver on max77843
MFD(Multi Function Device) with PMIC, MUIC, LED, CHARGER.

This driver supports external pwm and LRA(Linear Resonant Actuator) motor.
And it supports ff-memless interface from inpu framework.

Cc: Dmitry Torokhov <redacted>
Signed-off-by: Jaewon Kim <redacted>
...
+static void max77843_haptic_play_work(struct work_struct *work)
+{
+	struct max77843_haptic *haptic =
+			container_of(work, struct max77843_haptic, work);
+	int error;
+
+	mutex_lock(&haptic->mutex);
+
+	if (haptic->suspended)
+		mutex_unlock(&haptic->mutex);
Huh?
+
+	error = max77843_haptic_set_duty_cycle(haptic);
+	if (error) {
+		dev_err(haptic->dev, "failed to set duty cycle: %d\n", error);
+		return;
Here you are leaving with the mutex held.
+	}
+
+	if (haptic->magnitude) {
+		error = max77843_haptic_enable(haptic);
+		if (error)
+			dev_err(haptic->dev,
+					"cannot enable haptic: %d\n", error);
+	} else {
+		max77843_haptic_disable(haptic);
+		if (error)
+			dev_err(haptic->dev,
+					"cannot disable haptic: %d\n", error);
+	}
+
+	mutex_unlock(&haptic->mutex);
+}
+
The rest seems quite reasonable.

Thanks.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help