diff --git a/src/include/nhlt.h b/src/include/nhlt.h index 5b72320f02..a361ed8fda 100644 --- a/src/include/nhlt.h +++ b/src/include/nhlt.h @@ -298,6 +298,7 @@ struct nhlt_endpoint { #define MAX_ENDPOINTS 8 struct nhlt { + uint32_t subsystem_id; uint8_t num_endpoints; struct nhlt_endpoint endpoints[MAX_ENDPOINTS]; uint8_t current_instance_id[NHLT_MAX_LINK_TYPES]; diff --git a/src/lib/nhlt.c b/src/lib/nhlt.c index da94415f40..f6135c7d8a 100644 --- a/src/lib/nhlt.c +++ b/src/lib/nhlt.c @@ -43,6 +43,7 @@ struct nhlt *nhlt_init(void) return NULL; memset(nhlt, 0, sizeof(*nhlt)); + nhlt->subsystem_id = NHLT_SSID; return nhlt; } @@ -66,7 +67,7 @@ struct nhlt_endpoint *nhlt_add_endpoint(struct nhlt *nhlt, int link_type, endp->vendor_id = vid; endp->device_id = did; endp->revision_id = NHLT_RID; - endp->subsystem_id = NHLT_SSID; + endp->subsystem_id = nhlt->subsystem_id; endp->device_type = device_type; endp->direction = dir; endp->virtual_bus_id = DEFAULT_VIRTUAL_BUS_ID;