]> 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>
Sun, 17 Nov 2024 13:58:06 +0000 (14:58 +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 ab482423c16545d3161e04d7d8e78f614b3b70ea..726cf659133b2642e78a1751794f21e53199f1a3 100644 (file)
@@ -172,7 +172,7 @@ int amdtp_tscm_init(struct amdtp_stream *s, struct fw_unit *unit,
                                CIP_NONBLOCKING | CIP_SKIP_DBC_ZERO_CHECK, fmt,
                                process_data_blocks, sizeof(struct amdtp_tscm));
        if (err < 0)
-               return 0;
+               return err;
 
        /* Use fixed value for FDF field. */
        s->fdf = 0x00;