summaryrefslogtreecommitdiff
path: root/sound/soc/txx9/txx9aclc.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-11-05 21:40:07 +0400
committerMark Brown <broonie@linaro.org>2013-11-07 23:55:17 +0400
commitcb1b10262f986f865fdbafd0af3327f15f83b8af (patch)
tree6529a2f782b7c840424ed6e989bda56c8cae1475 /sound/soc/txx9/txx9aclc.c
parent5f29d4455992ab2edcaa377d4ef61b60240781ac (diff)
downloadlinux-cb1b10262f986f865fdbafd0af3327f15f83b8af.tar.xz
ASoC: txx9: Use WARN_ON() instead of BUG_ON()
Use WARN_ON() and handle the error cases accordingly. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/txx9/txx9aclc.c')
-rw-r--r--sound/soc/txx9/txx9aclc.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sound/soc/txx9/txx9aclc.c b/sound/soc/txx9/txx9aclc.c
index 45a6428cba8d..fbd077f4de72 100644
--- a/sound/soc/txx9/txx9aclc.c
+++ b/sound/soc/txx9/txx9aclc.c
@@ -115,8 +115,8 @@ static void txx9aclc_dma_complete(void *arg)
spin_lock_irqsave(&dmadata->dma_lock, flags);
if (dmadata->frag_count >= 0) {
dmadata->dmacount--;
- BUG_ON(dmadata->dmacount < 0);
- tasklet_schedule(&dmadata->tasklet);
+ if (!WARN_ON(dmadata->dmacount < 0))
+ tasklet_schedule(&dmadata->tasklet);
}
spin_unlock_irqrestore(&dmadata->dma_lock, flags);
}
@@ -181,7 +181,10 @@ static void txx9aclc_dma_tasklet(unsigned long data)
spin_unlock_irqrestore(&dmadata->dma_lock, flags);
return;
}
- BUG_ON(dmadata->dmacount >= NR_DMA_CHAIN);
+ if (WARN_ON(dmadata->dmacount >= NR_DMA_CHAIN)) {
+ spin_unlock_irqrestore(&dmadata->dma_lock, flags);
+ return;
+ }
while (dmadata->dmacount < NR_DMA_CHAIN) {
dmadata->dmacount++;
spin_unlock_irqrestore(&dmadata->dma_lock, flags);