cs_dsp_coeff_write_ctrl() may return a non-zero value (1) upon success. Change error checking in the write sequencer code such that it checks for negative errnos rather than any non-zero value when using this function. Signed-off-by: Fred Treven <ftreven@xxxxxxxxxxxxxxxxxxxxx> --- drivers/firmware/cirrus/cs_dsp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/cirrus/cs_dsp.c b/drivers/firmware/cirrus/cs_dsp.c index 5365e9a43000..56315b0b5583 100644 --- a/drivers/firmware/cirrus/cs_dsp.c +++ b/drivers/firmware/cirrus/cs_dsp.c @@ -3702,7 +3702,7 @@ int cs_dsp_wseq_write(struct cs_dsp *dsp, struct cs_dsp_wseq *wseq, ret = cs_dsp_coeff_write_ctrl(wseq->ctl, op_end->offset / sizeof(u32), &op_end->data, sizeof(u32)); - if (ret) + if (ret < 0) goto op_new_free; list_add_tail(&op_new->list, &op_end->list); @@ -3710,7 +3710,7 @@ int cs_dsp_wseq_write(struct cs_dsp *dsp, struct cs_dsp_wseq *wseq, ret = cs_dsp_coeff_write_ctrl(wseq->ctl, op_new->offset / sizeof(u32), words, new_op_size); - if (ret) + if (ret < 0) goto op_new_free; return 0; -- 2.34.1