mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
ASoC: rsnd: no more SRC restart when unusual situation
It will be SRC interrupt endless loop f unusual situation happen. This patch adds restart limit for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
044930b4a6
commit
639b231f86
@ -620,13 +620,17 @@ static irqreturn_t rsnd_src_interrupt_gen2(int irq, void *data)
|
||||
|
||||
if (rsnd_src_error_record_gen2(mod)) {
|
||||
struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
|
||||
struct rsnd_src *src = rsnd_mod_to_src(mod);
|
||||
struct device *dev = rsnd_priv_to_dev(priv);
|
||||
|
||||
_rsnd_src_stop_gen2(mod);
|
||||
_rsnd_src_start_gen2(mod);
|
||||
|
||||
dev_dbg(dev, "%s[%d] restart\n",
|
||||
rsnd_mod_name(mod), rsnd_mod_id(mod));
|
||||
|
||||
_rsnd_src_stop_gen2(mod);
|
||||
if (src->err < 1024)
|
||||
_rsnd_src_start_gen2(mod);
|
||||
else
|
||||
dev_warn(dev, "no more SRC restart\n");
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
||||
|
Loading…
Reference in New Issue
Block a user