• Takashi Iwai's avatar
    ALSA: hda: Abort capability probe at invalid register read · 098a0a62
    Takashi Iwai authored
    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: 6720b384 ("ALSA: hda - move bus_parse_capabilities to core")
    Cc: <stable@vger.kernel.org>
    Acked-by: default avatarVinod Koul <vinod.koul@intel.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    098a0a62
hdac_controller.c 15.4 KB