aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorSonny Rao <sonnyrao@chromium.org>2014-10-08 03:58:51 -0400
committerMark Brown <broonie@kernel.org>2014-10-08 07:29:38 -0400
commit528a82b41fda78435976c905546c3329c86bb264 (patch)
tree77626685b580c77669c4e11e2af6ae9a403f1e32 /sound
parenta5448c88b812390a3622e76d774e10c0da1fb970 (diff)
ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_txctrl
We can get into an infinite loop if the I2S_CLR register fails to clear due to a missing break statement, so add that. Signed-off-by: Sonny Rao <sonnyrao@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/rockchip/rockchip_i2s.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s.c
index 033487c9a164..f373e37f8305 100644
--- a/sound/soc/rockchip/rockchip_i2s.c
+++ b/sound/soc/rockchip/rockchip_i2s.c
@@ -108,8 +108,10 @@ static void rockchip_snd_txctrl(struct rk_i2s_dev *i2s, int on)
108 while (val) { 108 while (val) {
109 regmap_read(i2s->regmap, I2S_CLR, &val); 109 regmap_read(i2s->regmap, I2S_CLR, &val);
110 retry--; 110 retry--;
111 if (!retry) 111 if (!retry) {
112 dev_warn(i2s->dev, "fail to clear\n"); 112 dev_warn(i2s->dev, "fail to clear\n");
113 break;
114 }
113 } 115 }
114 } 116 }
115 } 117 }