Files
linux/include/sound
Takashi Iwai 9780ded39b ALSA: hda: Avoid racy recreation of widget kobjects
The refresh of HD-audio widget sysfs kobjects via
snd_hdac_refresh_widget_sysfs() is slightly racy.
The driver recreates the whole tree from scratch after deleting the
whole.  When CONFIG_DEBUG_KOBJECT_RELEASE option is used, kobject
release doesn't happen immediately but delayed, while the re-creation
of the same named kobject happens soon after invoking kobject_put().
This may end up with the conflicts of duplicated kobjects, as found in
the bug report below.

In this patch, we take another approach to refresh the tree: instead
of recreating the whole tree, just add the new nodes and delete the
non-existing nodes.  Since the refresh happens only once at
initialization, no longer race would happen.

Along with the code change, merge snd_hdac_refresh_widget_sysfs() with
the existing snd_hdac_refresh_widgets() with an additional bool flag
for simplifying the code.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197307
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-10-19 13:58:36 +02:00
..
2015-11-18 18:08:54 +00:00
2017-08-30 20:44:29 +02:00
2014-05-05 18:20:22 -07:00
2015-11-30 12:24:12 +00:00
2015-02-02 14:42:42 +01:00
2016-08-08 11:55:20 +01:00
2015-05-22 16:01:44 +02:00
2014-07-04 18:50:51 +01:00
2015-07-09 12:00:11 +01:00
2017-06-28 18:33:31 +01:00
2014-04-18 18:52:18 +01:00
2015-11-18 12:55:25 +00:00
2016-09-24 19:51:57 +01:00
2015-03-11 12:08:20 +00:00
2014-09-15 15:52:03 +02:00