ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init()

If amdtp_stream_init() fails in amdtp_tscm_init(), the latter returns zero,
though it's supposed to return error code, which is checked inside
init_stream() in file tascam-stream.c.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 47faeea25e ("ALSA: firewire-tascam: add data block processing layer")
Signed-off-by: Murad Masimov <m.masimov@maxima.ru>
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20241101185517.1819-1-m.masimov@maxima.ru
This commit is contained in:
Murad Masimov 2024-11-01 21:55:13 +03:00 committed by Takashi Iwai
parent c2d188e137
commit 8abbf1f01d

View File

@ -238,7 +238,7 @@ int amdtp_tscm_init(struct amdtp_stream *s, struct fw_unit *unit,
err = amdtp_stream_init(s, unit, dir, flags, fmt, err = amdtp_stream_init(s, unit, dir, flags, fmt,
process_ctx_payloads, sizeof(struct amdtp_tscm)); process_ctx_payloads, sizeof(struct amdtp_tscm));
if (err < 0) if (err < 0)
return 0; return err;
if (dir == AMDTP_OUT_STREAM) { if (dir == AMDTP_OUT_STREAM) {
// Use fixed value for FDF field. // Use fixed value for FDF field.