Skip to content

Commit 051f827

Browse files
authored
Merge pull request #318 from singalsu/eq_iir_fix_comp_data_retrieve
EQ IIR: Fix just introduced bug in eq_iir_cache()
2 parents bf26cd9 + 374f8b3 commit 051f827

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/audio/eq_iir.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -564,12 +564,13 @@ static int eq_iir_reset(struct comp_dev *dev)
564564

565565
static void eq_iir_cache(struct comp_dev *dev, int cmd)
566566
{
567-
struct comp_data *cd = comp_get_drvdata(dev);
567+
struct comp_data *cd;
568568

569569
switch (cmd) {
570570
case COMP_CACHE_WRITEBACK_INV:
571571
trace_eq("wtb");
572572

573+
cd = comp_get_drvdata(dev);
573574
if (cd->config)
574575
dcache_writeback_invalidate_region(cd->config,
575576
cd->config->size);
@@ -586,6 +587,11 @@ static void eq_iir_cache(struct comp_dev *dev, int cmd)
586587
trace_eq("inv");
587588

588589
dcache_invalidate_region(dev, sizeof(*dev));
590+
591+
/* Note: The component data need to be retrieved after
592+
* the dev data has been invalidated.
593+
*/
594+
cd = comp_get_drvdata(dev);
589595
dcache_invalidate_region(cd, sizeof(*cd));
590596

591597
if (cd->iir_delay)

0 commit comments

Comments
 (0)