diff --git a/audioreach-driver/q6apm_audio_pkt.c b/audioreach-driver/q6apm_audio_pkt.c index 46260a7..76021ab 100644 --- a/audioreach-driver/q6apm_audio_pkt.c +++ b/audioreach-driver/q6apm_audio_pkt.c @@ -38,6 +38,7 @@ #define APM_CMD_SHARED_MEM_MAP_REGIONS 0x0100100C #define APM_CMD_SHARED_SATELLITE_MEM_MAP_REGIONS 0x01001026 #define APM_MEMORY_MAP_BIT_MASK_PHYS_ADDRESS 0x000001C1UL +#define APM_EVENT_MODULE_TO_CLIENT 0x03001000 /* Define Logging Macros */ static int audio_pkt_debug_mask; @@ -738,6 +739,12 @@ static int q6apm_audio_pkt_callback_core(const struct gpr_resp_pkt *data, void * kfree(audpkt_port_map); } else { dev_dbg(dev, "Token=%u not found\n", hdr->token); + if (hdr->opcode == APM_EVENT_MODULE_TO_CLIENT && + hdr->dest_port == GPR_APM_MODULE_IID) { + new_dest_port = 8208; + new_src_port = hdr->src_port; + remap_ports = true; + } } mutex_unlock(&apm->audpkt_port_lock);