]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init()
authorMurad Masimov <m.masimov@maxima.ru>
Fri, 1 Nov 2024 18:55:13 +0000 (21:55 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Nov 2024 12:13:37 +0000 (13:13 +0100)
[ Upstream commit 8abbf1f01d6a2ef9f911f793e30f7382154b5a3a ]

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: 47faeea25ef3 ("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
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/firewire/tascam/amdtp-tascam.c

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