Commit ca7899af authored by Julien D'Ascenzio's avatar Julien D'Ascenzio Committed by Anas Nashif
Browse files

drivers: spi: stm32: Fix forever lock when configure failed



On transceive, if the SPI configure failed, the SPI wasn't release.

Signed-off-by: default avatarJulien D'ascenzio <julien.dascenzio@paratronic.fr>
parent a9a01d4c
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -613,7 +613,7 @@ static int transceive(const struct device *dev,

	ret = spi_stm32_configure(dev, config);
	if (ret) {
		return ret;
		goto end;
	}

	/* Set buffers info */
@@ -656,6 +656,7 @@ static int transceive(const struct device *dev,

#endif

end:
	spi_context_release(&data->ctx, ret);

	return ret;
@@ -710,8 +711,8 @@ static int transceive_dma(const struct device *dev,
	k_sem_reset(&data->status_sem);

	ret = spi_stm32_configure(dev, config);
	if (ret != 0) {
		return ret;
	if (ret) {
		goto end;
	}

	/* Set buffers info */
@@ -777,6 +778,7 @@ static int transceive_dma(const struct device *dev,

	spi_stm32_complete(dev, ret);

end:
	spi_context_release(&data->ctx, ret);

	return ret;