diff options
author | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 2020-07-07 23:37:45 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-07-08 16:25:18 +0300 |
commit | 6f0307df83f2aa6bdf656c2219c89ce96502d20e (patch) | |
tree | 2a8f62834c4c6df535a598470423b4b44c0ca389 /sound/x86 | |
parent | 503ed52225ed3d369c8e0dedf13556a7bc1e5c2b (diff) | |
download | linux-6f0307df83f2aa6bdf656c2219c89ce96502d20e.tar.xz |
ASoC: topology: fix kernel oops on route addition error
When errors happens while loading graph components, the kernel oopses
while trying to remove all topology components. This can be
root-caused to a list pointing to memory that was already freed on
error.
remove_route() is already called on errors and will perform the
required cleanups so there's no need to free the route memory in
soc_tplg_dapm_graph_elems_load() if the route was added to the
list. We do however want to free the routes allocated but not added to
the list.
Fixes: 7df04ea7a31ea ('ASoC: topology: modify dapm route loading routine and add dapm route unloading')
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20200707203749.113883-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/x86')
0 files changed, 0 insertions, 0 deletions