Skip to content

Commit

Permalink
ASoC: sigmadsp: Fix endianness conversion
Browse files Browse the repository at this point in the history
Make sure to always convert the firmware data to local endianness before
using it.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Fixes: a35daac ("ASoC: sigmadsp: Add support for fw v2")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Lars-Peter Clausen authored and Mark Brown committed Nov 21, 2014
1 parent dee9cec commit 1fc1004
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions sound/soc/codecs/sigmadsp.c
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ static int sigma_fw_load_control(struct sigmadsp *sigmadsp,

ctrl->addr = le16_to_cpu(ctrl_chunk->addr);
ctrl->num_bytes = num_bytes;
ctrl->samplerates = chunk->samplerates;
ctrl->samplerates = le32_to_cpu(chunk->samplerates);

list_add_tail(&ctrl->head, &sigmadsp->ctrl_list);

Expand Down Expand Up @@ -266,7 +266,7 @@ static int sigma_fw_load_data(struct sigmadsp *sigmadsp,

data->addr = le16_to_cpu(data_chunk->addr);
data->length = length;
data->samplerates = chunk->samplerates;
data->samplerates = le32_to_cpu(chunk->samplerates);
memcpy(data->data, data_chunk->data, length);
list_add_tail(&data->head, &sigmadsp->data_list);

Expand Down Expand Up @@ -329,7 +329,7 @@ static int sigmadsp_fw_load_v2(struct sigmadsp *sigmadsp,
if (length > fw->size - pos || length < sizeof(*chunk))
return -EINVAL;

switch (chunk->tag) {
switch (le32_to_cpu(chunk->tag)) {
case SIGMA_FW_CHUNK_TYPE_DATA:
ret = sigma_fw_load_data(sigmadsp, chunk, length);
break;
Expand Down

0 comments on commit 1fc1004

Please sign in to comment.