未验证 提交 f63248fa 编写于 作者: F Fabrice Gasnier 提交者: Mark Brown

regulator: stm32-vrefbuf: fix check on ready flag

stm32_vrefbuf_enable() wrongly checks VRR bit: 0 stands for not ready,
1 for ready. It currently checks the opposite.
This makes enable routine to exit immediately without waiting for ready
flag.

Fixes: 0cdbf481 ("regulator: Add support for stm32-vrefbuf")
Signed-off-by: NFabrice Gasnier <fabrice.gasnier@st.com>
Signed-off-by: NMark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
上级 4e79f3f1
...@@ -51,7 +51,7 @@ static int stm32_vrefbuf_enable(struct regulator_dev *rdev) ...@@ -51,7 +51,7 @@ static int stm32_vrefbuf_enable(struct regulator_dev *rdev)
* arbitrary timeout. * arbitrary timeout.
*/ */
ret = readl_poll_timeout(priv->base + STM32_VREFBUF_CSR, val, ret = readl_poll_timeout(priv->base + STM32_VREFBUF_CSR, val,
!(val & STM32_VRR), 650, 10000); val & STM32_VRR, 650, 10000);
if (ret) { if (ret) {
dev_err(&rdev->dev, "stm32 vrefbuf timed out!\n"); dev_err(&rdev->dev, "stm32 vrefbuf timed out!\n");
val = readl_relaxed(priv->base + STM32_VREFBUF_CSR); val = readl_relaxed(priv->base + STM32_VREFBUF_CSR);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册