]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
firmware: cs_dsp: Don't use __free() in cs_dsp_load() and cs_dsp_load_coeff()
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Mon, 1 Dec 2025 16:07:29 +0000 (16:07 +0000)
committerMark Brown <broonie@kernel.org>
Sun, 14 Dec 2025 10:37:36 +0000 (19:37 +0900)
commitae9ccaed3f6701ee0fe40ad919516e0aa0844f21
tree9aa07ab8f7230cb5d1c3dbc8aa8dc74f8b18037d
parenta49e098be20063c91b673a674b8f0f92135448da
firmware: cs_dsp: Don't use __free() in cs_dsp_load() and cs_dsp_load_coeff()

Replace the __free(kfree) in cs_dsp_load() and cs_dsp_load_coeff() with
a kfree(buf) at the end of the function.

The use of __free() can create new cleanup bugs that are difficult to spot
because the defective code is idiomatically correct regular C. In these two
functions the __free() was mixed with gotos, and also used the suspect
declaration __free(kfree) = NULL;.

The __free() did not do anything to simplify the code. There aren't any
early returns after the pointer is set, and the __free() can be replaced by
a kfree() at the end of the function.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Fixes: 900baa6e7bb0 ("firmware: cs_dsp: Remove redundant download buffer allocator")
Link: https://patch.msgid.link/20251201160729.231867-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/firmware/cirrus/cs_dsp.c