summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2013-04-09 18:10:22 +0200
committerJaroslav Kysela <perex@perex.cz>2013-04-09 18:10:22 +0200
commit9cb5e5bee7550774586f85f9d4769b19d3ace3c4 (patch)
treeaecaf07baedf7cf5340d1fb7d0d74b5d16a44047
parente05b903b1fb16e967d838edac408304cd4470fee (diff)
downloadalsa-utils-9cb5e5bee7550774586f85f9d4769b19d3ace3c4.tar.gz
alsactl: daemon mode - remove disconnected cards
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--alsactl/daemon.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/alsactl/daemon.c b/alsactl/daemon.c
index 34056a3..127701e 100644
--- a/alsactl/daemon.c
+++ b/alsactl/daemon.c
@@ -431,7 +431,9 @@ int state_daemon(const char *file, const char *cardname, int period,
goto out;
}
j += cards[i]->pfds;
- if (revents & POLLIN) {
+ if (revents & (POLLERR|POLLNVAL)) {
+ card_free(&cards[i]);
+ } else if (revents & POLLIN) {
if (card_events(cards[i])) {
/* delay the write */
if (!changed)