]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
spi: atcspi200: Fix double-free in atcspi_configure_dma()
authorFelix Gu <ustc.gu@gmail.com>
Thu, 5 Mar 2026 12:22:38 +0000 (20:22 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 9 Mar 2026 12:29:30 +0000 (12:29 +0000)
commitad0e9ac2d5f5ab7a773c2c07ecf06ee59db9259f
treecc2cfae58f37e7730bf41790c47ce4d4f9582557
parentb20b437666e1cb26a7c499d1664e8f2a0ac67000
spi: atcspi200: Fix double-free in atcspi_configure_dma()

The driver uses devm_dma_request_chan() which registers automatic cleanup
via devm_add_action_or_reset(). Calling dma_release_channel() manually on
the RX channel when TX channel request fails causes a double-free when
the devm cleanup runs.

Remove the unnecessary manual cleanup and simplify the error handling
since devm will properly release channels on probe failure or driver
detach.

Fixes: 34e3815ea459 ("spi: atcspi200: Add ATCSPI200 SPI controller driver")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Link: https://patch.msgid.link/20260305-atcspi2000-v1-1-eafe08dcca60@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-atcspi200.c