| From f63248fac563125fd5a2f0bc780ce7a299872cab Mon Sep 17 00:00:00 2001 |
| From: Fabrice Gasnier <fabrice.gasnier@st.com> |
| Date: Thu, 8 Feb 2018 14:43:05 +0100 |
| Subject: regulator: stm32-vrefbuf: fix check on ready flag |
| |
| From: Fabrice Gasnier <fabrice.gasnier@st.com> |
| |
| commit f63248fac563125fd5a2f0bc780ce7a299872cab upstream. |
| |
| 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: 0cdbf481e927 ("regulator: Add support for stm32-vrefbuf") |
| Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/regulator/stm32-vrefbuf.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/regulator/stm32-vrefbuf.c |
| +++ b/drivers/regulator/stm32-vrefbuf.c |
| @@ -51,7 +51,7 @@ static int stm32_vrefbuf_enable(struct r |
| * arbitrary timeout. |
| */ |
| ret = readl_poll_timeout(priv->base + STM32_VREFBUF_CSR, val, |
| - !(val & STM32_VRR), 650, 10000); |
| + val & STM32_VRR, 650, 10000); |
| if (ret) { |
| dev_err(&rdev->dev, "stm32 vrefbuf timed out!\n"); |
| val = readl_relaxed(priv->base + STM32_VREFBUF_CSR); |