ALSA: firewire-tascam: handle error code when getting current source of clock
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Tue, 10 Sep 2019 13:51:51 +0000 (22:51 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Oct 2019 11:10:00 +0000 (13:10 +0200)
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

index e4cc899..9e58633 100644 (file)
@@ -57,6 +57,9 @@ static int pcm_open(struct snd_pcm_substream *substream)
                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)) {