summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2017-11-17 12:08:40 +0100
committerTakashi Iwai <tiwai@suse.de>2017-11-17 12:20:37 +0100
commitc2432466f583cb719b35a41e757da587d9ab1d00 (patch)
tree29ca04ca9af299114aec7fd112e7d83eb59ae153 /sound/pci/hda
parentALSA: usb-audio: uac1: Invalidate ctl on interrupt (diff)
downloadlinux-c2432466f583cb719b35a41e757da587d9ab1d00.tar.xz
linux-c2432466f583cb719b35a41e757da587d9ab1d00.zip
ALSA: hda: Fix too short HDMI/DP chmap reporting
We got a regression report about the HD-audio HDMI chmap, where some surround channels are reported as UNKNOWN. The git bisection pointed the culprit at the commit 9b3dc8aa3fb1 ("ALSA: hda - Register chmap obj as priv data instead of codec"). The story behind scene is like this: - While moving the code out of the legacy HDA to the HDA common place, the patch modifies the code to obtain the chmap array indirectly in a byte array, and it expands it to kctl value array. - At the latter operation, the size of the array is wrongly passed by sizeof() to the pointer. - It can be 4 on 32bit arch, thus too short for 6+ channels. (And that's the reason why it didn't hit other persons; it's 8 on 64bit arch, thus it's usually enough.) The code was further changed meanwhile, but the problem persisted. Let's fix it by correctly evaluating the array size. Fixes: 9b3dc8aa3fb1 ("ALSA: hda - Register chmap obj as priv data instead of codec") Reported-by: VDR User <user.vdr@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda')
0 files changed, 0 insertions, 0 deletions