linux/sound/hda
Takashi Iwai a92d5ee866 ALSA: hda - Fix widget sysfs tree corruption after refresh
When snd_hdac_refresh_widget_sysfs() is called before the first
hda_widget_sysfs_init(), the next call overrides and eventually
fails.  This results in unexpected Oops, something like:
  BUG: unable to handle kernel NULL pointer dereference at 00000000000000c8
  IP: [<ffffffff8180e2a3>] hdmi_chmap_ctl_info+0x23/0x40

The fix is to add a check of the existing sysfs tree.  Also, for more
safety, this patch adds the checks of device_is_registered() in
snd-hdac_refresh_wdiget_sysfs(), too.

Fixes: fa4f18b4f4 ('ALSA: hda - Refresh widgets sysfs at probing Haswell+ HDMI codecs')
Bugizlla: https://bugzilla.kernel.org/show_bug.cgi?id=103431
Reported-by: Andreas Reis <andreas.reis@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-08-26 07:43:47 +02:00
..
ext ALSA: hdac: fix the spbmaxfifo API 2015-08-23 09:43:26 +02:00
array.c ALSA: hda - Move generic array helpers to core lib 2015-03-23 13:19:35 +01:00
hda_bus_type.c ALSA: hda - add HDA default codec match function 2015-06-03 11:58:49 +02:00
hdac_bus.c ALSA: hda - Add the controller helper codes to hda-core module 2015-04-16 07:27:58 +02:00
hdac_controller.c ALSA: hda - moved alloc/free stream pages function to controller library 2015-04-16 07:31:22 +02:00
hdac_device.c ALSA: hda - Fix widget sysfs tree corruption after refresh 2015-08-26 07:43:47 +02:00
hdac_i915.c ALSA: hda - Fix Skylake codec timeout 2015-07-20 09:33:24 +02:00
hdac_regmap.c ALSA: hda - Check the return value from pm_runtime_get/put*() 2015-07-17 16:27:33 +02:00
hdac_stream.c ALSA: hdac: Add snd_hdac_get_hdac_stream() 2015-08-23 09:43:27 +02:00
hdac_sysfs.c ALSA: hda - Fix widget sysfs tree corruption after refresh 2015-08-26 07:43:47 +02:00
Kconfig ALSA: HDAC: move SND_HDA_PREALLOC_SIZE to core 2015-06-16 17:40:38 +02:00
local.h ALSA: hda - Add widget sysfs tree 2015-03-23 13:17:27 +01:00
Makefile ALSA: hdac_ext: add extended HDA bus 2015-06-11 11:57:54 +02:00
trace.c ALSA: hda - Re-add tracepoints to HD-audio core driver 2015-03-23 13:17:58 +01:00
trace.h ALSA: hda - add hdac stream trace 2015-05-18 10:06:20 +02:00