Skip to content

Commit e1cd2d2

Browse files
marcinszkudlinskikv2019i
authored andcommitted
DP: bugix - lists initialization was done too late
in case module prepare fails, dp_queue lists were left uninitialized. It may lead to crash if module reset was performed later Signed-off-by: Marcin Szkudlinski <[email protected]>
1 parent 980b988 commit e1cd2d2

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/audio/module_adapter/module_adapter.c

+3-2
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,9 @@ static int module_adapter_dp_queue_prepare(struct comp_dev *dev)
168168
* first, set all parameters by calling "module prepare" with pointers to
169169
* "main" audio_stream buffers
170170
*/
171+
list_init(&mod->dp_queue_ll_to_dp_list);
172+
list_init(&mod->dp_queue_dp_to_ll_list);
173+
171174
ret = module_adapter_sink_src_prepare(dev);
172175
if (ret)
173176
return ret;
@@ -177,7 +180,6 @@ static int module_adapter_dp_queue_prepare(struct comp_dev *dev)
177180
* and copy stream parameters to shadow buffers
178181
*/
179182
i = 0;
180-
list_init(&mod->dp_queue_ll_to_dp_list);
181183
list_for_item(blist, &dev->bsource_list) {
182184
struct comp_buffer *source_buffer =
183185
container_of(blist, struct comp_buffer, sink_list);
@@ -211,7 +213,6 @@ static int module_adapter_dp_queue_prepare(struct comp_dev *dev)
211213
unsigned int period = UINT32_MAX;
212214

213215
i = 0;
214-
list_init(&mod->dp_queue_dp_to_ll_list);
215216
list_for_item(blist, &dev->bsink_list) {
216217
struct comp_buffer *sink_buffer =
217218
container_of(blist, struct comp_buffer, source_list);

0 commit comments

Comments
 (0)