| From 2617120f4de6d0423384e0e86b14c78b9de84d5a Mon Sep 17 00:00:00 2001 |
| From: Takashi Sakamoto <o-takashi@sakamocchi.jp> |
| Date: Tue, 10 Sep 2019 22:51:51 +0900 |
| Subject: ALSA: firewire-tascam: handle error code when getting current source of clock |
| |
| From: Takashi Sakamoto <o-takashi@sakamocchi.jp> |
| |
| commit 2617120f4de6d0423384e0e86b14c78b9de84d5a upstream. |
| |
| The return value of snd_tscm_stream_get_clock() is ignored. This commit |
| checks the value and handle error. |
| |
| Fixes: e453df44f0d6 ("ALSA: firewire-tascam: add PCM functionality") |
| Cc: <stable@vger.kernel.org> # v4.4+ |
| Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> |
| Link: https://lore.kernel.org/r/20190910135152.29800-2-o-takashi@sakamocchi.jp |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/firewire/tascam/tascam-pcm.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/sound/firewire/tascam/tascam-pcm.c |
| +++ b/sound/firewire/tascam/tascam-pcm.c |
| @@ -81,6 +81,9 @@ static int pcm_open(struct snd_pcm_subst |
| goto err_locked; |
| |
| err = snd_tscm_stream_get_clock(tscm, &clock); |
| + if (err < 0) |
| + goto err_locked; |
| + |
| if (clock != SND_TSCM_CLOCK_INTERNAL || |
| amdtp_stream_pcm_running(&tscm->rx_stream) || |
| amdtp_stream_pcm_running(&tscm->tx_stream)) { |