From dccb11bc4cde54053fc5b66a30c51a4eecc60aa5 Mon Sep 17 00:00:00 2001 From: Sugar Zhang Date: Fri, 24 Aug 2018 11:42:18 +0800 Subject: [PATCH] ASoC: rockchip: vad: add judgement for vad stop This patch add the judgement for vad stop, do nothing if vad was stopped. Change-Id: Iea9fa635d38644335ba30c821460c11d8526a7a6 Signed-off-by: Sugar Zhang --- sound/soc/rockchip/rockchip_vad.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sound/soc/rockchip/rockchip_vad.c b/sound/soc/rockchip/rockchip_vad.c index 3eb45e8df8a5..11852125957e 100644 --- a/sound/soc/rockchip/rockchip_vad.c +++ b/sound/soc/rockchip/rockchip_vad.c @@ -81,6 +81,10 @@ static int rockchip_vad_stop(struct rockchip_vad *vad) struct vad_buf *vbuf = &vad->vbuf; struct vad_params *params = &vad->params; + regmap_read(vad->regmap, VAD_CTRL, &val); + if ((val & VAD_EN_MASK) == VAD_DISABLE) + return 0; + regmap_update_bits(vad->regmap, VAD_CTRL, VAD_EN_MASK, VAD_DISABLE); regmap_read(vad->regmap, VAD_RAM_END_ADDR, &val); vbuf->end = vbuf->begin + (val - vad->memphy) + 0x8;