[PATCH] ALSA: firewire-lib: fix error codes for allocation failure
Dan Carpenter
dan.carpenter at oracle.com
Sat Jun 5 14:46:39 CEST 2021
Return -ENOMEM if kcalloc() fails. Currently the code returns success.
Fixes: f9e5ecdfc2c2 ("ALSA: firewire-lib: add replay target to cache sequence of packet")
Fixes: 6f24bb8a157c ("ALSA: firewire-lib: pool sequence of packet in IT context independently")
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
---
sound/firewire/amdtp-stream.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/sound/firewire/amdtp-stream.c b/sound/firewire/amdtp-stream.c
index 945597ffacc2..b37cec3cc579 100644
--- a/sound/firewire/amdtp-stream.c
+++ b/sound/firewire/amdtp-stream.c
@@ -1625,8 +1625,10 @@ static int amdtp_stream_start(struct amdtp_stream *s, int channel, int speed,
s->ctx_data.tx.cache.tail = 0;
s->ctx_data.tx.cache.descs = kcalloc(s->ctx_data.tx.cache.size,
sizeof(*s->ctx_data.tx.cache.descs), GFP_KERNEL);
- if (!s->ctx_data.tx.cache.descs)
+ if (!s->ctx_data.tx.cache.descs) {
+ err = -ENOMEM;
goto err_context;
+ }
}
} else {
static const struct {
@@ -1643,8 +1645,10 @@ static int amdtp_stream_start(struct amdtp_stream *s, int channel, int speed,
};
s->ctx_data.rx.seq.descs = kcalloc(queue_size, sizeof(*s->ctx_data.rx.seq.descs), GFP_KERNEL);
- if (!s->ctx_data.rx.seq.descs)
+ if (!s->ctx_data.rx.seq.descs) {
+ err = -ENOMEM;
goto err_context;
+ }
s->ctx_data.rx.seq.size = queue_size;
s->ctx_data.rx.seq.tail = 0;
s->ctx_data.rx.seq.head = 0;
--
2.30.2
More information about the Alsa-devel
mailing list