a5xelte: amplifier: Fix pcm_open fail case
authorChristopher N. Hesse <raymanfx@gmail.com>
Mon, 27 Aug 2018 06:55:39 +0000 (08:55 +0200)
committerJan Altensen <info@stricted.net>
Mon, 12 Aug 2019 07:12:11 +0000 (09:12 +0200)
By default, we try to open card 0 devive 0 to play dummy audio which in
turn enables the amplifier IC clocks for us.

However, in some cases card 0 device 0 is already used when trying to
enable the amplifier - catch this case and avoid a watchdog bite.

Change-Id: I8eb5dc39fd289d0883df1bf71c31024cc3fbe358

amplifier/tfa.c

index b56e1997ad074df28d9ea51af0bf6e2cee639c38..b28f4dcb9c0912b8db7f8bcaed276145233214a4 100644 (file)
@@ -52,7 +52,7 @@ static void * write_dummy_data(void *param) {
     pcm = pcm_open(0, 0, PCM_OUT | PCM_MONOTONIC, &config);
     if (!pcm || !pcm_is_ready(pcm)) {
         ALOGE("pcm_open failed: %s", pcm_get_error(pcm));
-        if (pcm) {
+        if (pcm && errno != EBUSY) {
             goto err_close_pcm;
         }
         goto exit;