Unverified Commit d6691010 authored by Florian Fainelli's avatar Florian Fainelli Committed by Mark Brown
Browse files

spi: bcm2835: Do not call gpiod_put() on invalid descriptor



If we are unable to lookup the chip-select GPIO, the error path will
call bcm2835_spi_cleanup() which unconditionally calls gpiod_put() on
the cs->gpio variable which we just determined was invalid.

Fixes: 21f252cd ("spi: bcm2835: reduce the abuse of the GPIO API")
Signed-off-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20250401224238.2854256-1-florian.fainelli@broadcom.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 3cb2a2f7
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1162,6 +1162,7 @@ static void bcm2835_spi_cleanup(struct spi_device *spi)
				 sizeof(u32),
				 DMA_TO_DEVICE);

	if (!IS_ERR(bs->cs_gpio))
		gpiod_put(bs->cs_gpio);
	spi_set_csgpiod(spi, 0, NULL);