The loop in snd_hdac_bus_parse_capabilities() may go to nirvana when
it hits an invalid register value read:
BUG: unable to handle kernel paging request at ffffad5dc41f3fff
IP: pci_azx_readl+0x5/0x10 [snd_hda_intel]
Call Trace:
snd_hdac_bus_parse_capabilities+0x3c/0x1f0 [snd_hda_core]
azx_probe_continue+0x7d5/0x940 [snd_hda_intel]
.....
This happened on a new Intel machine, and we need to check the value
and abort the loop accordingly.
[Note: the fixes tag below indicates only the commit where this patch
can be applied; the original problem was introduced even before that
commit]
Fixes:
|
||
---|---|---|
.. | ||
ext | ||
Kconfig | ||
Makefile | ||
array.c | ||
hda_bus_type.c | ||
hdac_bus.c | ||
hdac_controller.c | ||
hdac_device.c | ||
hdac_i915.c | ||
hdac_regmap.c | ||
hdac_stream.c | ||
hdac_sysfs.c | ||
hdmi_chmap.c | ||
local.h | ||
trace.c | ||
trace.h |