From caf42fbdef72715f6077307200000d98173c7a9c Mon Sep 17 00:00:00 2001 From: Nghia Phung Date: Thu, 12 Jun 2025 16:20:49 +0700 Subject: [PATCH] drivers: i3c: Check for the existence of callback before invoking I3C callbacks are registered by upper layer. Driver layer must check if a callback is not NULL before calling it Signed-off-by: Nghia Phung --- drivers/i3c/i3c_dw.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/i3c/i3c_dw.c b/drivers/i3c/i3c_dw.c index 34a9796a145..abc136dcf9e 100644 --- a/drivers/i3c/i3c_dw.c +++ b/drivers/i3c/i3c_dw.c @@ -553,10 +553,12 @@ static void dw_i3c_end_xfer(const struct device *dev) for (j = 0; j < cmd->rx_len; j += 4) { rx_data = sys_read32(config->regs + RX_TX_DATA_PORT); - /* Call write received cb for each remaining byte */ - for (k = 0; k < MIN(4, cmd->rx_len - j); k++) { - target_cb->write_received_cb(data->target_config, - (rx_data >> (8 * k)) & 0xff); + if (target_cb != NULL && target_cb->write_received_cb != NULL) { + /* Call write received cb for each remaining byte */ + for (k = 0; k < MIN(4, cmd->rx_len - j); k++) { + target_cb->write_received_cb(data->target_config, + (rx_data >> (8 * k)) & 0xff); + } } }