ALSA: hda - Fix snd_hda_get_num_raw_conns() to return a correct value
authorTakashi Iwai <tiwai@suse.de>
Tue, 12 Mar 2013 15:47:30 +0000 (16:47 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 12 Mar 2013 15:47:30 +0000 (16:47 +0100)
commitb5f82b1044daef74059f454353a2ee97acbbe620
tree8589426f3de6a604c4b0328386cde2d7d4ee6e31
parent281a6ac0f54052c81bbee156914459ba5a08f924
ALSA: hda - Fix snd_hda_get_num_raw_conns() to return a correct value

In the connection list expansion in hda_codec.c and hda_proc.c, the
value returned from snd_hda_get_num_raw_conns() is used as the array
size to store the connection list.  However, the function returns
simply a raw value of the AC_PAR_CONNLIST_LEN parameter, and the
widget list with ranges isn't considered there.  Thus it may return a
smaller size than the actual list, which results in -ENOSPC in
snd_hda_get_raw_conections().

This patch fixes the bug by parsing the connection list correctly also
for snd_hda_get_num_raw_conns().

Reported-and-tested-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c