linux-stable/kernel/dma
Joakim Zhang 64299791d0 dma-mapping: clear dev->dma_mem to NULL after freeing it
[ Upstream commit b07bc23476 ]

Reproduced with below sequence:
dma_declare_coherent_memory()->dma_release_coherent_memory()
->dma_declare_coherent_memory()->"return -EBUSY" error

It will return -EBUSY from the dma_assign_coherent_memory()
in dma_declare_coherent_memory(), the reason is that dev->dma_mem
pointer has not been set to NULL after it's freed.

Fixes: cf65a0f6f6 ("dma-mapping: move all DMA mapping code to kernel/dma")
Signed-off-by: Joakim Zhang <joakim.zhang@cixtech.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-01-25 14:37:45 -08:00
..
coherent.c dma-mapping: clear dev->dma_mem to NULL after freeing it 2024-01-25 14:37:45 -08:00
contiguous.c
debug.c dma-debug: don't call __dma_entry_alloc_check_leak() under free_entries_lock 2023-10-10 21:53:32 +02:00
debug.h
direct.c
direct.h
dummy.c
Kconfig
Makefile
mapping.c
ops_helpers.c
pool.c
remap.c dma-remap: use kvmalloc_array/kvfree for larger dma memory remap 2023-08-26 15:26:43 +02:00
swiotlb.c
virt.c