From: Cezary Rojewski Date: Mon, 10 Oct 2022 12:19:50 +0000 (+0200) Subject: ASoC: Intel: avs: Do not reuse msg between different IPC handlers X-Git-Tag: v6.2-rc1~126^2^2~154^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=18a787909ca6bac3a3a3235c08d68a4a9838fe7b;p=thirdparty%2Fkernel%2Flinux.git ASoC: Intel: avs: Do not reuse msg between different IPC handlers While LOG_BUFFER_STATUS is a simple notification with only one meaningful field, same message ptr shall not be reused for two different handlers. Signed-off-by: Cezary Rojewski Link: https://lore.kernel.org/r/20221010121955.718168-11-cezary.rojewski@intel.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/intel/avs/apl.c b/sound/soc/intel/avs/apl.c index b8e2b23c9f642..7c8ce98eda9dd 100644 --- a/sound/soc/intel/avs/apl.c +++ b/sound/soc/intel/avs/apl.c @@ -133,12 +133,14 @@ static int apl_coredump(struct avs_dev *adev, union avs_notify_msg *msg) buf = apl_log_payload_addr(addr); memcpy_fromio(&layout, addr, sizeof(layout)); if (!apl_is_entry_stackdump(buf + layout.read_ptr)) { + union avs_notify_msg lbs_msg = AVS_NOTIFICATION(LOG_BUFFER_STATUS); + /* * DSP awaits the remaining logs to be * gathered before dumping stack */ - msg->log.core = msg->ext.coredump.core_id; - avs_dsp_op(adev, log_buffer_status, msg); + lbs_msg.log.core = msg->ext.coredump.core_id; + avs_dsp_op(adev, log_buffer_status, &lbs_msg); } pos = dump + AVS_FW_REGS_SIZE;