diff options
author | Diogo Ferreira <defer@cyngn.com> | 2016-09-09 14:18:06 +0100 |
---|---|---|
committer | Diogo Ferreira <defer@cyngn.com> | 2016-09-09 15:18:40 +0100 |
commit | f0dd6128ace9d86e86c83df783299bb8f2fabee1 (patch) | |
tree | a46ec075066af06a920e93fc5b502bfd0a0b0537 | |
parent | bf8c1abdcc53b2ad7228eba42fbff798e81d7e24 (diff) | |
download | android_hardware_qcom_audio-f0dd6128ace9d86e86c83df783299bb8f2fabee1.tar.gz android_hardware_qcom_audio-f0dd6128ace9d86e86c83df783299bb8f2fabee1.tar.bz2 android_hardware_qcom_audio-f0dd6128ace9d86e86c83df783299bb8f2fabee1.zip |
msm8937: acdb: Make acdb reloading optional
Some acdb loader libraries don't have acdb reload capabilities and will
fail to initialize and cause all sorts of audio issues.
This patch makes reloading conditional to its presence in the acdb
loader library and only supports the function in those cases.
Change-Id: I3b60e5e652d09f27712a51d02106cde4f15901a2
Ticket: CYNGNOS-3285
-rw-r--r-- | hal/msm8916/platform.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c index 9a414a4b..4206f903 100644 --- a/hal/msm8916/platform.c +++ b/hal/msm8916/platform.c @@ -1912,8 +1912,7 @@ void *platform_init(struct audio_device *adev) my_data->acdb_reload = (acdb_reload_t)dlsym(my_data->acdb_handle, "acdb_loader_reload_acdb_files"); if (my_data->acdb_reload == NULL) { - ALOGE("%s: dlsym error %s for acdb_loader_reload_acdb_files", __func__, dlerror()); - goto acdb_init_fail; + ALOGW("%s: dlsym error %s for acdb_loader_reload_acdb_files, reloading will not be available", __func__, dlerror()); } platform_acdb_init(my_data); } @@ -3640,7 +3639,7 @@ int platform_set_parameters(void *platform, struct str_parms *parms) err = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_RELOAD_ACDB, value, sizeof(value)); - if (err >= 0) { + if (err >= 0 && my_data->acdb_reload != NULL) { str_parms_del(parms, AUDIO_PARAMETER_KEY_RELOAD_ACDB); my_data->acdb_reload(value, my_data->snd_card_name, |