Hey,
On Mon, 17 Feb 2020, Takashi Iwai wrote:
On Mon, 17 Feb 2020 14:17:54 +0100, Kai Vehmanen wrote:
snd_hdac_i915_exit() calls -> snd_hdac_acomp_exit(), which again calls -> component.c:component_master_del(dev, &hdac_component_master_ops); -> component.c:take_down_master() -> devres.c:devres_release_group(master->dev, NULL);
... now that is somewhat suprising. Basicly that goes on to release all devres resources for the hdac_bus device (not just those related to acomp!).
Does it really? I thought it applies only to the group, and id=NULL indicating that it's a local group that was created with id=NULL (by address match).
at least in my tests, acomp_exit() ended up releasing a bunch of devres allocations made with devm_kzalloc() that had no relation to acomp. I noted that in devres.c:find_group(), docs say:
/* Find devres group with ID @id. If @id is NULL, look for the latest. */ static struct devres_group * find_group(struct device *dev, void *id)
... I don't see how it would be limiting a local group.
Br, Kai