Thread (19 messages) 19 messages, 3 authors, 2011-03-30

[PATCH 1/2] regulator: Remove possible deadlock from regulator_enable

From: David Collins <hidden>
Date: 2011-03-28 18:22:25
Also in: linux-arm-msm, lkml

On 03/28/2011 11:11 AM, Mark Brown wrote:
quoted
-/* locks held by regulator_enable() */
+/* Locks are *not* held by regulator_enable(). */
 static int _regulator_enable(struct regulator_dev *rdev)
 {
-	int ret, delay;
+	struct regulator_dev *supply_rdev = NULL;
+	int ret = 0, delay;
 
+	mutex_lock(&rdev->mutex);
This is going to be terribly confusing - the _ versions of the functions
all by convention rely on their callers taking the mutex, allowing them
to be safely used from internal APIs.  
_regulator_enable is only being called within regulator_enable and
_regulator_enable.  Would it remove the confusion to rename
_regulator_enable to something different?

-David

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help