audio: Change to perform voice calibration before update audio route
If audio route is set before voice calibration, the TX and RX device tap
is swapped in calibration tool. So, this sequence is changed to perform
voice calibration before update audio route.
Bug: 9363506
Change-Id: Ic7687a92f0d3c3faea0cf48f9d56e5877ba6255b
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 92e24e7..d96b1ea 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -1014,13 +1014,6 @@
enable_snd_device(adev, in_snd_device, false);
}
- audio_route_update_mixer(adev->audio_route);
-
- usecase->in_snd_device = in_snd_device;
- usecase->out_snd_device = out_snd_device;
-
- enable_audio_route(adev, usecase, true);
-
if (usecase->type == VOICE_CALL && adev->csd_client) {
if (adev->csd_enable_device == NULL) {
ALOGE("%s: dlsym error for csd_client_enable_device",
@@ -1056,6 +1049,13 @@
}
}
+ audio_route_update_mixer(adev->audio_route);
+
+ usecase->in_snd_device = in_snd_device;
+ usecase->out_snd_device = out_snd_device;
+
+ enable_audio_route(adev, usecase, true);
+
return status;
}