ASoC: SOF: Propagate sof_get_ctrl_copy_params() error properly

This fixes a compile warning below by properly handling the error code
from sof_get_ctrl_copy_params():
  include/linux/kernel.h:843:43: warning: 'sparams.pl_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
  sound/soc/sof/ipc.c:639:34: note: 'sparams.pl_size' was declared here

The function returns an error before setting sparams.pl_size, so it'd
assign an uninitialized value at a later point.

Fixes: 53e0c72d98 ("ASoC: SOF: Add support for IPC IO between DSP and Host")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Takashi Iwai 2019-05-07 21:39:10 +02:00 committed by Mark Brown
parent f153bf49dd
commit 54d198d501
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0

View file

@ -567,7 +567,7 @@ static int sof_set_get_large_ctrl_data(struct snd_sof_dev *sdev,
size_t offset = 0;
size_t msg_bytes;
size_t pl_size;
int err = 0;
int err;
int i;
/* allocate max ipc size because we have at least one */
@ -576,9 +576,13 @@ static int sof_set_get_large_ctrl_data(struct snd_sof_dev *sdev,
return -ENOMEM;
if (send)
sof_get_ctrl_copy_params(cdata->type, cdata, partdata, sparams);
err = sof_get_ctrl_copy_params(cdata->type, cdata, partdata,
sparams);
else
sof_get_ctrl_copy_params(cdata->type, partdata, cdata, sparams);
err = sof_get_ctrl_copy_params(cdata->type, partdata, cdata,
sparams);
if (err < 0)
return err;
msg_bytes = sparams->msg_bytes;
pl_size = sparams->pl_size;