projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
01fad93
)
ASoC: SOF: trace: fix unconditional free in trace release
author
Kai Vehmanen
<kai.vehmanen@linux.intel.com>
Fri, 24 Jan 2020 21:36:22 +0000
(15:36 -0600)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Wed, 29 Apr 2020 14:33:05 +0000
(16:33 +0200)
[ Upstream commit
e6110114d18d330c05fd6de9f31283fd086a5a3a
]
Check if DMA pages were successfully allocated in initialization
before calling free. For many types of memory (like sgbufs)
the extra free is harmless, but not all backends track allocation
state, so add an explicit check.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link:
https://lore.kernel.org/r/20200124213625.30186-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/sof/trace.c
patch
|
blob
|
history
diff --git
a/sound/soc/sof/trace.c
b/sound/soc/sof/trace.c
index
4c3cff0
..
fd6f591
100644
(file)
--- a/
sound/soc/sof/trace.c
+++ b/
sound/soc/sof/trace.c
@@
-328,7
+328,10
@@
void snd_sof_free_trace(struct snd_sof_dev *sdev)
{
snd_sof_release_trace(sdev);
- snd_dma_free_pages(&sdev->dmatb);
- snd_dma_free_pages(&sdev->dmatp);
+ if (sdev->dma_trace_pages) {
+ snd_dma_free_pages(&sdev->dmatb);
+ snd_dma_free_pages(&sdev->dmatp);
+ sdev->dma_trace_pages = 0;
+ }
}
EXPORT_SYMBOL(snd_sof_free_trace);