]> www.infradead.org Git - users/dwmw2/linux.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)
committerTakashi Iwai <tiwai@suse.de>
Mon, 4 Nov 2024 10:25:16 +0000 (11:25 +0100)
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
sound/firewire/tascam/amdtp-tascam.c

index 0b42d65590081a05cd82305cac4f0320e81be7c5..079afa4bd3811b880e8ef3d6735e41d8305d004d 100644 (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,
                        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.