Merge "ASoC: correct read size return value for erroneous conditions"

This commit is contained in:
Linux Build Service Account 2018-11-02 02:54:27 -07:00 • committed by Gerrit - the friendly Code Review server
commit fbcc12e319

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2010-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@ -760,6 +760,10 @@ ssize_t audio_in_read(struct file *file,
}
bytes_to_copy =
(size + audio->out_frame_info[idx][1]);
if (bytes_to_copy == 0) {
rc = 0;
break;
}
/* Number of frames information copied */
buf += sizeof(unsigned char);
count -= sizeof(unsigned char);
@ -793,8 +797,10 @@ ssize_t audio_in_read(struct file *file,
pr_debug("%s:session id %d: read: %zd bytes\n", __func__,
audio->ac->session, (buf-start));
if (buf > start)
return buf - start;
if (!rc) {
if (buf > start)
return buf - start;
}
return rc;
}