[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
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.