diff --git a/src/audio/base_fw.c b/src/audio/base_fw.c index 17c86fdb1df3..2ee03facb319 100644 --- a/src/audio/base_fw.c +++ b/src/audio/base_fw.c @@ -410,7 +410,7 @@ __cold static int basefw_libraries_info_get(uint32_t *data_offset, char *data) desc = basefw_vendor_get_manifest(); } else { #if CONFIG_LIBRARY_MANAGER - desc = (struct sof_man_fw_desc *)lib_manager_get_library_manifest(lib_id); + desc = lib_manager_get_library_manifest(LIB_MANAGER_PACK_LIB_ID(lib_id)); #else desc = NULL; #endif diff --git a/src/debug/telemetry/performance_monitor.c b/src/debug/telemetry/performance_monitor.c index cd81781a6edc..250102edf5e1 100644 --- a/src/debug/telemetry/performance_monitor.c +++ b/src/debug/telemetry/performance_monitor.c @@ -344,7 +344,7 @@ int enable_performance_counters(void) desc = basefw_vendor_get_manifest(); } else { #if CONFIG_LIBRARY_MANAGER - desc = (struct sof_man_fw_desc *)lib_manager_get_library_manifest(lib_id); + desc = lib_manager_get_library_manifest(LIB_MANAGER_PACK_LIB_ID(lib_id)); #else desc = NULL; #endif diff --git a/src/include/sof/lib_manager.h b/src/include/sof/lib_manager.h index f1ead3028984..d96171ac9fd6 100644 --- a/src/include/sof/lib_manager.h +++ b/src/include/sof/lib_manager.h @@ -77,6 +77,7 @@ #define LIB_MANAGER_GET_LIB_ID(module_id) (((module_id) & 0xF000) >> LIB_MANAGER_LIB_ID_SHIFT) #define LIB_MANAGER_GET_MODULE_INDEX(module_id) ((module_id) & 0xFFF) +#define LIB_MANAGER_PACK_LIB_ID(lib_index) (((lib_index) << LIB_MANAGER_LIB_ID_SHIFT) & 0xF000) #ifdef CONFIG_LIBRARY_MANAGER struct ipc_lib_msg {