]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
ALSA: hda: Abort capability probe at invalid register read
authorTakashi Iwai <tiwai@suse.de>
Tue, 17 Oct 2017 14:38:55 +0000 (16:38 +0200)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Thu, 16 Nov 2017 13:23:16 +0000 (11:23 -0200)
commit8ed71a28cc43f70f61d9f0fdeeec969abe20ea60
tree83cca31a209dec2acd256c1f1165141b312581bb
parent8442f9b36515123a0b6ed5c7a60dbbff61eb6c79
ALSA: hda: Abort capability probe at invalid register read

BugLink: http://bugs.launchpad.net/bugs/1731951
commit 098a0a62c1554f5a3813ef1b8539563214ada8f6 upstream.

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: 6720b38420a0 ("ALSA: hda - move bus_parse_capabilities to core")
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
sound/hda/hdac_controller.c