From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Collins Subject: [PATCH 0/2] regulator: Fix regulator_enable deadlock and add uA_load propagation Date: Mon, 28 Mar 2011 08:34:40 -0700 Message-ID: <1301326482-6547-1-git-send-email-collinsd@codeaurora.org> Return-path: Received: from wolverine02.qualcomm.com ([199.106.114.251]:27620 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754309Ab1C1Peq (ORCPT ); Mon, 28 Mar 2011 11:34:46 -0400 Sender: linux-arm-msm-owner@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org To: Liam Girdwood , Mark Brown Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm-owner@vger.kernel.org, David Collins Because the uA_load propagation change takes out a lock on a regulator and then the regulators that it supplies, it will cause deadlock with the current regulator_enable implementation. regulator_disable can also deadlock with regulator_enable, but it requires two threads and precise timing to observe. Therefore, regulator_enable must be fixed before current propagation can be used. David Collins (2): regulator: Remove possible deadlock from regulator_enable regulator: Propagate uA_load requirements up supply chain drivers/regulator/core.c | 147 +++++++++++++++++++++++++++++++------- include/linux/regulator/driver.h | 5 ++ 2 files changed, 125 insertions(+), 27 deletions(-) -- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.