Commit 4f8ea6d7 authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown

ASoC: wm_adsp: wm_coeff_{read|write}_control should use passed length

wm_coeff_{read|write}_control were using the control length rather than
the length parameter passed to them. This is not causing any issues as
the two values are currently always the same, but this needs fixed to
allow future improvements.
Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 7d00cd97
...@@ -721,19 +721,19 @@ static int wm_coeff_write_control(struct wm_coeff_ctl *ctl, ...@@ -721,19 +721,19 @@ static int wm_coeff_write_control(struct wm_coeff_ctl *ctl,
reg = ctl->alg_region.base + ctl->offset; reg = ctl->alg_region.base + ctl->offset;
reg = wm_adsp_region_to_reg(mem, reg); reg = wm_adsp_region_to_reg(mem, reg);
scratch = kmemdup(buf, ctl->len, GFP_KERNEL | GFP_DMA); scratch = kmemdup(buf, len, GFP_KERNEL | GFP_DMA);
if (!scratch) if (!scratch)
return -ENOMEM; return -ENOMEM;
ret = regmap_raw_write(dsp->regmap, reg, scratch, ret = regmap_raw_write(dsp->regmap, reg, scratch,
ctl->len); len);
if (ret) { if (ret) {
adsp_err(dsp, "Failed to write %zu bytes to %x: %d\n", adsp_err(dsp, "Failed to write %zu bytes to %x: %d\n",
ctl->len, reg, ret); len, reg, ret);
kfree(scratch); kfree(scratch);
return ret; return ret;
} }
adsp_dbg(dsp, "Wrote %zu bytes to %x\n", ctl->len, reg); adsp_dbg(dsp, "Wrote %zu bytes to %x\n", len, reg);
kfree(scratch); kfree(scratch);
...@@ -780,20 +780,20 @@ static int wm_coeff_read_control(struct wm_coeff_ctl *ctl, ...@@ -780,20 +780,20 @@ static int wm_coeff_read_control(struct wm_coeff_ctl *ctl,
reg = ctl->alg_region.base + ctl->offset; reg = ctl->alg_region.base + ctl->offset;
reg = wm_adsp_region_to_reg(mem, reg); reg = wm_adsp_region_to_reg(mem, reg);
scratch = kmalloc(ctl->len, GFP_KERNEL | GFP_DMA); scratch = kmalloc(len, GFP_KERNEL | GFP_DMA);
if (!scratch) if (!scratch)
return -ENOMEM; return -ENOMEM;
ret = regmap_raw_read(dsp->regmap, reg, scratch, ctl->len); ret = regmap_raw_read(dsp->regmap, reg, scratch, len);
if (ret) { if (ret) {
adsp_err(dsp, "Failed to read %zu bytes from %x: %d\n", adsp_err(dsp, "Failed to read %zu bytes from %x: %d\n",
ctl->len, reg, ret); ctl->len, reg, ret);
kfree(scratch); kfree(scratch);
return ret; return ret;
} }
adsp_dbg(dsp, "Read %zu bytes from %x\n", ctl->len, reg); adsp_dbg(dsp, "Read %zu bytes from %x\n", len, reg);
memcpy(buf, scratch, ctl->len); memcpy(buf, scratch, len);
kfree(scratch); kfree(scratch);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment