diff options
author | Shengjiu Wang <shengjiu.wang@nxp.com> | 2018-09-05 14:34:49 +0800 |
---|---|---|
committer | Dong Aisheng <aisheng.dong@nxp.com> | 2019-11-25 15:48:35 +0800 |
commit | 1562153cc85662e54b6ae1712eff900fcf020fbe (patch) | |
tree | 8d8a7e8eee9041d7e1239b8ae1d5c2dbfcb208ba /sound/soc/fsl/fsl_asrc_m2m.c | |
parent | 46bc9e9ca542b03a8ed6c238f90d85f289231677 (diff) |
MLK-13208: ASoC: fsl_asrc_m2m: change the return value for signal_pending
There is error log after suspend resume with asrc alsa plugin.
"fsl-asrc 2034000.asrc: Pair A: failed to process buffer: -16"
"asrc_pair_convert_s16: Convert ASRC pair 0 failed,
[0x989410][440][0x9895d0][1764]"
Which is caused by the return value is -EBUSY when signal_pending, in this
case we can use the -ERESTARTSYS to instead, that system will recall the
convert function after resume.
Fixes commit e1e9de8e9369 ("MLK-10048-2: ASoC: fsl_asrc: change
the return value")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Diffstat (limited to 'sound/soc/fsl/fsl_asrc_m2m.c')
-rw-r--r-- | sound/soc/fsl/fsl_asrc_m2m.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/soc/fsl/fsl_asrc_m2m.c b/sound/soc/fsl/fsl_asrc_m2m.c index 9c5a2a2805f4..f52cd3718538 100644 --- a/sound/soc/fsl/fsl_asrc_m2m.c +++ b/sound/soc/fsl/fsl_asrc_m2m.c @@ -329,7 +329,7 @@ int fsl_asrc_process_buffer_pre(struct completion *complete, return -ETIME; } else if (signal_pending(current)) { pr_err("%sput task forcibly aborted\n", DIR_STR(dir)); - return -EBUSY; + return -ERESTARTSYS; } return 0; @@ -723,7 +723,8 @@ static long fsl_asrc_ioctl_convert(struct fsl_asrc_pair *pair, ret = fsl_asrc_process_buffer(pair, &buf); if (ret) { - pair_err("failed to process buffer: %ld\n", ret); + if (ret != -ERESTARTSYS) + pair_err("failed to process buffer: %ld\n", ret); return ret; } |