kpb: Clean up params on component reset

Clean up kpb parameters in component data on reset().

Signed-off-by: Eddy Hsu <eddyhsu@chromium.org>
This commit is contained in:
Eddy Hsu 2022-04-21 18:07:27 +00:00 committed by Liam Girdwood
parent 99eac8de99
commit 94e6c99697
1 changed files with 10 additions and 0 deletions

View File

@ -611,6 +611,7 @@ static int kpb_reset(struct comp_dev *dev)
{ {
struct comp_data *kpb = comp_get_drvdata(dev); struct comp_data *kpb = comp_get_drvdata(dev);
int ret = 0; int ret = 0;
int i;
comp_cl_info(&comp_kpb, "kpb_reset(): resetting from state %d, state log %x", comp_cl_info(&comp_kpb, "kpb_reset(): resetting from state %d, state log %x",
kpb->state, kpb->state_log); kpb->state, kpb->state_log);
@ -631,6 +632,15 @@ static int kpb_reset(struct comp_dev *dev)
break; break;
default: default:
kpb->hd.buffered = 0; kpb->hd.buffered = 0;
kpb->sel_sink = NULL;
kpb->host_sink = NULL;
kpb->host_buffer_size = 0;
kpb->host_period_size = 0;
for (i = 0; i < KPB_MAX_NO_OF_CLIENTS; i++) {
kpb->clients[i].state = KPB_CLIENT_UNREGISTERED;
kpb->clients[i].r_ptr = NULL;
}
if (kpb->hd.c_hb) { if (kpb->hd.c_hb) {
/* Reset history buffer - zero its data, reset pointers /* Reset history buffer - zero its data, reset pointers