am be75de5e: am 26f06c79: Merge "hal: fix mic selection for IN_COMMUNICATION mode" into mnc-dr-dev
* commit 'be75de5e7363aae0dbef69c016b60e02bb391ff6':
hal: fix mic selection for IN_COMMUNICATION mode
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 2e954d6..4186242 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -844,8 +844,14 @@
break;
}
- ALOGV("%s: pcm_prepare start", __func__);
- pcm_prepare(in->pcm);
+ ALOGV("%s: pcm_prepare", __func__);
+ ret = pcm_prepare(in->pcm);
+ if (ret < 0) {
+ ALOGE("%s: pcm_prepare returned %d", __func__, ret);
+ pcm_close(in->pcm);
+ in->pcm = NULL;
+ goto error_open;
+ }
audio_extn_perf_lock_release();
@@ -1203,10 +1209,16 @@
}
break;
}
- ALOGV("%s: pcm_prepare start", __func__);
- if (pcm_is_ready(out->pcm))
- pcm_prepare(out->pcm);
-
+ ALOGV("%s: pcm_prepare", __func__);
+ if (pcm_is_ready(out->pcm)) {
+ ret = pcm_prepare(out->pcm);
+ if (ret < 0) {
+ ALOGE("%s: pcm_prepare returned %d", __func__, ret);
+ pcm_close(out->pcm);
+ out->pcm = NULL;
+ goto error_open;
+ }
+ }
} else {
out->pcm = NULL;
out->compr = compress_open(adev->snd_card, out->pcm_device_id,