aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVidyakumar Athota <vathota@codeaurora.org>2021-01-19 16:45:27 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-01-19 16:45:27 +0000
commite6c59a83007446caffbcb8aeddf9cfa9fa0fda71 (patch)
tree1746ca9f5d2ed40ebf9f439274fbac7b7e5861ad
parent655819f9673b8965582808fc2ddc438ccafdeab1 (diff)
parentb29cafd5591f0e55c5f9442eea76c75b65e87110 (diff)
downloadtinyalsa-e6c59a83007446caffbcb8aeddf9cfa9fa0fda71.tar.gz
tinyalsa : update event_cnt before eventfd_write() am: 8a03c49eec am: b29cafd559
Original change: https://android-review.googlesource.com/c/platform/external/tinyalsa/+/1554369 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I05c7ff8edd7f0e881652ab51a72531ec0f1d51f2
-rw-r--r--mixer_plugin.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mixer_plugin.c b/mixer_plugin.c
index 90f332f..015120a 100644
--- a/mixer_plugin.c
+++ b/mixer_plugin.c
@@ -132,8 +132,8 @@ static int mixer_plug_info_integer(struct snd_control *ctl,
void mixer_plug_notifier_cb(struct mixer_plugin *plugin)
{
- eventfd_write(plugin->eventfd, 1);
plugin->event_cnt++;
+ eventfd_write(plugin->eventfd, 1);
}
/* In consume_event/read, do not call eventfd_read until all events are read from list.
@@ -149,8 +149,10 @@ static ssize_t mixer_plug_read_event(void *data, struct snd_ctl_event *ev, size_
if (result > 0) {
plugin->event_cnt -= result / sizeof(struct snd_ctl_event);
- if (plugin->event_cnt == 0)
+ if (plugin->event_cnt <= 0) {
+ plugin->event_cnt = 0;
eventfd_read(plugin->eventfd, &evfd);
+ }
}
return result;