mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 16:16:15 -04:00
dsp: Unload the BT modules when APR handle is NULL
As a part of SSR/PDR, afe_close() is called. If APR handle is NULL, BT modules were not unloaded. Unload the modules to recover post SSR/PDR. Change-Id: I69bdb3ab1d55ad9a0a8ed3eed069c97af9143722 Signed-off-by: Harshal Ahire <hahire@codeaurora.org>
This commit is contained in:
parent
e60b9d6c6d
commit
c7d538c0c4
1 changed files with 15 additions and 1 deletions
16
dsp/q6afe.c
16
dsp/q6afe.c
|
|
@ -1,5 +1,5 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
#include <linux/slab.h>
|
||||
#include <linux/debugfs.h>
|
||||
|
|
@ -975,6 +975,20 @@ static int32_t afe_callback(struct apr_client_data *data, void *priv)
|
|||
mutex_lock(&this_afe.afe_cmd_lock);
|
||||
for (i = 0; i < AFE_LPASS_CORE_HW_VOTE_MAX; i++)
|
||||
this_afe.lpass_hw_core_client_hdl[i] = 0;
|
||||
|
||||
/*
|
||||
* Free the port mapping structures used for AVCS module
|
||||
* load/unload.
|
||||
*/
|
||||
for (i = 0; i < MAX_ALLOWED_USE_CASES; i++) {
|
||||
if (pm[i]) {
|
||||
kfree(pm[i]->payload);
|
||||
pm[i]->payload = NULL;
|
||||
kfree(pm[i]);
|
||||
pm[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
mutex_unlock(&this_afe.afe_cmd_lock);
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue