From 9413b8d4cda0e4ea2855b501d9176be55858034d Mon Sep 17 00:00:00 2001 From: Khoa Nguyen Date: Mon, 28 Apr 2025 11:18:51 +0700 Subject: [PATCH] drivers: spi: Add condition to check buffer pointer Add condition to check context buffer pointer for Renesas RA SPI and SPI_B driver Signed-off-by: Khoa Nguyen --- drivers/spi/spi_b_renesas_ra8.c | 5 +++++ drivers/spi/spi_renesas_ra.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/drivers/spi/spi_b_renesas_ra8.c b/drivers/spi/spi_b_renesas_ra8.c index 4d17c9e99f8..7e0c91e4742 100644 --- a/drivers/spi/spi_b_renesas_ra8.c +++ b/drivers/spi/spi_b_renesas_ra8.c @@ -313,6 +313,11 @@ static int transceive(const struct device *dev, const struct spi_config *config, spi_context_cs_control(&data->ctx, true); + if ((!spi_context_tx_buf_on(&data->ctx)) && (!spi_context_rx_buf_on(&data->ctx))) { + /* If current buffer has no data, do nothing */ + goto end; + } + #ifdef CONFIG_SPI_B_INTERRUPT spi_bit_width_t spi_width = (spi_bit_width_t)(SPI_WORD_SIZE_GET(data->ctx.config->operation) - 1); diff --git a/drivers/spi/spi_renesas_ra.c b/drivers/spi/spi_renesas_ra.c index 27a25644423..56d95b6e2a7 100644 --- a/drivers/spi/spi_renesas_ra.c +++ b/drivers/spi/spi_renesas_ra.c @@ -355,6 +355,11 @@ static int transceive(const struct device *dev, const struct spi_config *config, spi_context_cs_control(&data->ctx, true); + if ((!spi_context_tx_buf_on(&data->ctx)) && (!spi_context_rx_buf_on(&data->ctx))) { + /* If current buffer has no data, do nothing */ + goto end; + } + #ifdef CONFIG_SPI_INTERRUPT if (data->ctx.rx_len == 0) { data->data_len = spi_context_is_slave(&data->ctx)