Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ASoC: wm_adsp: Fix crash in kunit tests on arm64

Several of the wm_adsp kunit tests failed by only on arm64. This
turns out to be passing things to release_firmware which were not
allocated with request_firmware. This does actually drop some
errors on other platforms but somehow doesn't cause the tests to
fail, and kunit hides a lot of the output for passing tests.

There is a comment in the code regarding this exact thing in
wm_adsp_fw_find_test_case_exit(), but then it goes on and
does it anyway. I suspect maybe there was a plan to override
wm_adsp_release_firmware_files() that got forgotten, as the
function appears to have hooks for kunit that aren't used. Anyway
for now implement a simple fix of freeing the filenames
locally. It is likely a more detailed fix will be implemented in
the near future but this should get things moving again.

Fixes: bf2d44d07de7 ("ASoC: wm_adsp: Add kunit test for firmware file search")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20260318103813.249190-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Charles Keepax and committed by
Mark Brown
6017671d 4ebaf9d9

+2 -1
+2 -1
sound/soc/codecs/wm_adsp_fw_find_test.c
··· 262 262 * dummies not allocated by the real request_firmware() call they 263 263 * must not be passed to release_firmware(). 264 264 */ 265 - wm_adsp_release_firmware_files(&priv->found_fw); 265 + kfree(priv->found_fw.wmfw.filename); 266 + kfree(priv->found_fw.coeff.filename); 266 267 } 267 268 268 269 static void wm_adsp_fw_find_test_param_desc(const struct wm_adsp_fw_find_test_params *param,