summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2018-07-04 10:01:45 -0400
committerMark Brown <broonie@kernel.org>2018-07-04 10:41:35 -0400
commitdc865fb9e7c2251c9585ff6a7bf185d499db13e4 (patch)
tree110d3abcc05ded863ae134543df932e2a4492d51
parent1a42e7e3aff1aa4789378020318dff7432317d25 (diff)
ASoC: sti: Use snd_pcm_stop_xrun() helper
The XRUN trigger from the driver should be done via snd_pcm_stop_xrun(). It fixes the missing stream locking as a gratis, too. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/sti/uniperif_player.c6
-rw-r--r--sound/soc/sti/uniperif_reader.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/sound/soc/sti/uniperif_player.c b/sound/soc/sti/uniperif_player.c
index d8b6936e544e..313dab2857ef 100644
--- a/sound/soc/sti/uniperif_player.c
+++ b/sound/soc/sti/uniperif_player.c
@@ -91,7 +91,7 @@ static irqreturn_t uni_player_irq_handler(int irq, void *dev_id)
91 SET_UNIPERIF_ITM_BCLR_FIFO_ERROR(player); 91 SET_UNIPERIF_ITM_BCLR_FIFO_ERROR(player);
92 92
93 /* Stop the player */ 93 /* Stop the player */
94 snd_pcm_stop(player->substream, SNDRV_PCM_STATE_XRUN); 94 snd_pcm_stop_xrun(player->substream);
95 } 95 }
96 96
97 ret = IRQ_HANDLED; 97 ret = IRQ_HANDLED;
@@ -105,7 +105,7 @@ static irqreturn_t uni_player_irq_handler(int irq, void *dev_id)
105 SET_UNIPERIF_ITM_BCLR_DMA_ERROR(player); 105 SET_UNIPERIF_ITM_BCLR_DMA_ERROR(player);
106 106
107 /* Stop the player */ 107 /* Stop the player */
108 snd_pcm_stop(player->substream, SNDRV_PCM_STATE_XRUN); 108 snd_pcm_stop_xrun(player->substream);
109 109
110 ret = IRQ_HANDLED; 110 ret = IRQ_HANDLED;
111 } 111 }
@@ -138,7 +138,7 @@ static irqreturn_t uni_player_irq_handler(int irq, void *dev_id)
138 dev_err(player->dev, "Underflow recovery failed\n"); 138 dev_err(player->dev, "Underflow recovery failed\n");
139 139
140 /* Stop the player */ 140 /* Stop the player */
141 snd_pcm_stop(player->substream, SNDRV_PCM_STATE_XRUN); 141 snd_pcm_stop_xrun(player->substream);
142 142
143 ret = IRQ_HANDLED; 143 ret = IRQ_HANDLED;
144 } 144 }
diff --git a/sound/soc/sti/uniperif_reader.c b/sound/soc/sti/uniperif_reader.c
index ee0055e60852..7b63d35ef428 100644
--- a/sound/soc/sti/uniperif_reader.c
+++ b/sound/soc/sti/uniperif_reader.c
@@ -65,7 +65,7 @@ static irqreturn_t uni_reader_irq_handler(int irq, void *dev_id)
65 if (unlikely(status & UNIPERIF_ITS_FIFO_ERROR_MASK(reader))) { 65 if (unlikely(status & UNIPERIF_ITS_FIFO_ERROR_MASK(reader))) {
66 dev_err(reader->dev, "FIFO error detected\n"); 66 dev_err(reader->dev, "FIFO error detected\n");
67 67
68 snd_pcm_stop(reader->substream, SNDRV_PCM_STATE_XRUN); 68 snd_pcm_stop_xrun(reader->substream);
69 69
70 ret = IRQ_HANDLED; 70 ret = IRQ_HANDLED;
71 } 71 }