Message ID | 20241101185517.1819-1-m.masimov@maxima.ru (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init() | expand |
Hi, On Fri, Nov 01, 2024 at 09:55:13PM +0300, Murad Masimov wrote: > 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> > --- > sound/firewire/tascam/amdtp-tascam.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sound/firewire/tascam/amdtp-tascam.c b/sound/firewire/tascam/amdtp-tascam.c > index 0b42d6559008..079afa4bd381 100644 > --- a/sound/firewire/tascam/amdtp-tascam.c > +++ b/sound/firewire/tascam/amdtp-tascam.c > @@ -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. Indeed. The return value should not be from the err variable. It looks good to me, regardless of the circumstances. Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Thanks Takashi Sakamoto
On Sat, Nov 2, 2024, at 10:20, Takashi Sakamoto wrote:
> The return value should not be from the err variable.
Oops. "should be".
On Fri, 01 Nov 2024 19:55:13 +0100, Murad Masimov wrote: > > 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> Applied now. Thanks. Takashi
diff --git a/sound/firewire/tascam/amdtp-tascam.c b/sound/firewire/tascam/amdtp-tascam.c index 0b42d6559008..079afa4bd381 100644 --- a/sound/firewire/tascam/amdtp-tascam.c +++ b/sound/firewire/tascam/amdtp-tascam.c @@ -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.
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> --- sound/firewire/tascam/amdtp-tascam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.39.2