Skip to content

Commit a4ccc5d

Browse files
committed
ipc3: override type field once comp_driver found
A bad IPC can mismatch UUID and type, causing downstream processes to operate differently than the final component target. This is because get_drv will not reject the mismatch and given we don't know the state of topology we can't start now. Instead we can override the ipc with the proper type. Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
1 parent 88cde10 commit a4ccc5d

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/ipc/ipc3/helper.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ static const struct comp_driver *get_drv(struct sof_ipc_comp *comp)
134134
info = container_of(clist, struct comp_driver_info,
135135
list);
136136
if (!memcmp(info->drv->uid, comp_ext->uuid,
137-
UUID_SIZE)) {
137+
UUID_SIZE) && comp->type == info->drv->type) {
138138
drv = info->drv;
139139
break;
140140
}

0 commit comments

Comments
 (0)