diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index b66729c7c3ec..16c47df67e3a 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -1039,7 +1039,8 @@ static int i3c_master_send_ccc_cmd_locked(struct i3c_master_controller *master, if (!master->ops->send_ccc_cmd) return -EOPNOTSUPP; - if ((cmd->id & I3C_CCC_DIRECT) && (!cmd->dests || !cmd->ndests)) + if ((cmd->rnw || (cmd->id & I3C_CCC_DIRECT)) && + (!cmd->dests || !cmd->ndests)) return -EINVAL; if (master->ops->supports_ccc_cmd &&