mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 12:52:29 -04:00
thunderbolt: Keep XDomain reference during the lifetime of a service
This is needed because we release the service ID in tb_service_release() and the ID array is owned by the parent XDomain. Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
@@ -1039,6 +1039,7 @@ static void tb_service_release(struct device *dev)
|
||||
ida_free(&xd->service_ids, svc->id);
|
||||
kfree(svc->key);
|
||||
kfree(svc);
|
||||
tb_xdomain_put(xd);
|
||||
}
|
||||
|
||||
const struct device_type tb_service_type = {
|
||||
@@ -1147,7 +1148,7 @@ static void enumerate_services(struct tb_xdomain *xd)
|
||||
svc->id = id;
|
||||
svc->dev.bus = &tb_bus_type;
|
||||
svc->dev.type = &tb_service_type;
|
||||
svc->dev.parent = &xd->dev;
|
||||
svc->dev.parent = get_device(&xd->dev);
|
||||
dev_set_name(&svc->dev, "%s.%d", dev_name(&xd->dev), svc->id);
|
||||
|
||||
tb_service_debugfs_init(svc);
|
||||
|
||||
Reference in New Issue
Block a user