summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier S. Pedro <maemo@javispedro.com>2012-01-02 00:14:44 +0100
committerJavier S. Pedro <maemo@javispedro.com>2012-01-02 00:14:44 +0100
commit4236fc397aaf1ebc0b0cb375c4b9e02d50aec604 (patch)
tree354c0c86550427d5313bbc6bbb00b95fc9186667
parent352dad23c7847d234e11c1034e1354fbd9a8349a (diff)
downloadfmrxd-4236fc397aaf1ebc0b0cb375c4b9e02d50aec604.tar.gz
fmrxd-4236fc397aaf1ebc0b0cb375c4b9e02d50aec604.zip
workaround a race condition on startup
-rw-r--r--capture.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/capture.c b/capture.c
index f14afa2..f24ccac 100644
--- a/capture.c
+++ b/capture.c
@@ -112,10 +112,14 @@ bool configure_mixer(bool on)
if (on) {
res = mixer_set_enum_value(mixer, "Mode Switch", "Rx");
+ // The above uploads firmware and a few other things,
+ // so let's give it some time.
+ usleep(500000);
res &= mixer_set_enum_value(mixer, "Codec Mode", "FmRx");
res &= mixer_set_enum_value(mixer, "Audio Switch", "Digital");
} else {
- res = mixer_set_enum_value(mixer, "Codec Mode", "Bt");
+ res = mixer_set_enum_value(mixer, "Audio Switch", "Analog");
+ res &= mixer_set_enum_value(mixer, "Codec Mode", "Bt");
res &= mixer_set_enum_value(mixer, "Mode Switch", "Off");
}