On Mon, Oct 16, 2023 at 01:47:28PM +0100, Mark Brown wrote: > On Sat, Oct 14, 2023 at 07:26:22PM +0200, Otto Pflüger wrote: > > > + for (i = 0; i < g_core->svc_version->num_services; i++) { > > + struct avcs_svc_info *info; > > + > > + info = &g_core->svc_version->svc_api_info[i]; > > + if (info->service_id != APR_SVC_ADSP_CORE) > > + continue; > > + > > + switch (info->version) { > > + case AVCS_CMDRSP_Q6_ID_2_6: > > + core->adsp_version = Q6_ADSP_VERSION_2_6; > > + break; > > + case AVCS_CMDRSP_Q6_ID_2_7: > > + core->adsp_version = Q6_ADSP_VERSION_2_7; > > + break; > > + case AVCS_CMDRSP_Q6_ID_2_8: > > + core->adsp_version = Q6_ADSP_VERSION_2_8; > > + break; > > + } > > This doesn't handle unknown versions at all. The adsp_version is initialized to Q6_ADSP_VERSION_UNKNOWN in q6core_probe, so it should stay unknown if it doesn't match any of these values. I don't see any big problems here, but I agree that some additional handling such as a warning message could be useful.