Open fredoh9 opened 1 year ago
@ujfalusi any idea of what might have happened here? If I understand correctly for regular IPC we always allocate a sizeof(reply) so not sure what causes the firmware to report more than is provided.
It could also be an error at the firmware level leading to a corrupted reply size.
And the size of struct sof_ipc_reply
is 12 (2x u32 + 1x i32) ?
And to add: the firmware should reply with:
struct sof_ipc_comp_reply reply = {
.rhdr.hdr = {
.cmd = header,
.size = sizeof(reply),
},
};
...
/* write component values to the outbox */
mailbox_hostbox_write(0, &reply, sizeof(reply));
to the buffer_new. Something is not adding up for sure, this can not be. The only explanation is that the kernel is corrupting a prepared IPC message template and that is sent out, but still, we log it as BUFFER_NEW, so the reply must be 12...
Found one error during testing simultaneous-playback-capture-25 with stable-v2.2
Internal link: 18319?model=ADLP_RVP_NOCODEC&testcase=simultaneous-playback-capture-25
etrace has poll timeout and xrun.
Attached logs:
etrace-adl-nocodec.txt dmesg-adl-nocodec.txt slogger-adl-nocodec.txt