aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/soc/intel/sst-firmware.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/intel/sst-firmware.c b/sound/soc/intel/sst-firmware.c
index 4a5bde9c686b..ef2e8b5766a1 100644
--- a/sound/soc/intel/sst-firmware.c
+++ b/sound/soc/intel/sst-firmware.c
@@ -763,8 +763,12 @@ static int block_alloc_fixed(struct sst_dsp *dsp, struct sst_block_allocator *ba
763 /* does block span more than 1 section */ 763 /* does block span more than 1 section */
764 if (ba->offset >= block->offset && ba->offset < block_end) { 764 if (ba->offset >= block->offset && ba->offset < block_end) {
765 765
766 /* add block */
767 list_move(&block->list, &dsp->used_block_list);
768 list_add(&block->module_list, block_list);
766 /* align ba to block boundary */ 769 /* align ba to block boundary */
767 ba->offset = block->offset; 770 ba->size -= block_end - ba->offset;
771 ba->offset = block_end;
768 772
769 err = block_alloc_contiguous(dsp, ba, block_list); 773 err = block_alloc_contiguous(dsp, ba, block_list);
770 if (err < 0) 774 if (err < 0)