Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b05b92b authored by Phani Kumar Uppalapati's avatar Phani Kumar Uppalapati Committed by Matt Wagantall
Browse files

ASoC: msm: qdsp6v2: Correct buffer address data type



While retrieving the memory map handles from the list,
the buffer physical address is getting truncated by
errorneous type-casting from 64-bit to 32-bit. Because
of this memory map handle corresponding to that physical
address will not get retrieved from the list and hence
it never gets unmapped.

CRs-Fixed: 813971
Change-Id: I2914c8556286ba9106aad625e5878afb6bb56b09
Signed-off-by: default avatarPhani Kumar Uppalapati <phaniu@codeaurora.org>
parent 2db77173
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -4141,7 +4141,7 @@ static int q6asm_memory_unmap_regions(struct audio_client *ac, int dir)
	struct audio_port_data *port = NULL;
	struct asm_buffer_node *buf_node = NULL;
	struct list_head *ptr, *next;
	uint32_t buf_add;
	phys_addr_t buf_add;
	int	rc = 0;
	int	cmd_size = 0;

@@ -4160,7 +4160,7 @@ static int q6asm_memory_unmap_regions(struct audio_client *ac, int dir)
			TRUE, ((ac->session << 8) | dir));
	atomic_set(&ac->mem_state, 1);
	port = &ac->port[dir];
	buf_add = (uint32_t)port->buf->phys;
	buf_add = port->buf->phys;
	mem_unmap.hdr.opcode = ASM_CMD_SHARED_MEM_UNMAP_REGIONS;
	mem_unmap.mem_map_handle = 0;
	list_for_each_safe(ptr, next, &ac->port[dir].mem_map_handle) {