diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-06-17 14:23:46 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-06-17 14:23:46 +0200 |
commit | ad2409413d09fca763be1ac5161f2a9d82367903 (patch) | |
tree | eb882444d86ede68e1bba554e31ce68d58616b81 /sound | |
parent | cf6f1ff17f56c275424c5a341fc4d27ccbbfa71c (diff) | |
download | linux-ad2409413d09fca763be1ac5161f2a9d82367903.tar.bz2 |
ALSA: hda - Fix no NID error with VIA codecs
The via driver spews warnigs like
hda-codec: no NID for mapping control Independent HP:0:0
with some codecs because snd_hda_add_nid() is called with nid=0.
This patch fixes it by skipping the call when no corresponding widget
is found.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_via.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index 605c99e1e520..c952582fb218 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c @@ -832,10 +832,13 @@ static int via_hp_build(struct hda_codec *codec) knew->subdevice = HDA_SUBDEV_NID_FLAG | nid; knew->private_value = nid; - knew = via_clone_control(spec, &via_hp_mixer[1]); - if (knew == NULL) - return -ENOMEM; - knew->subdevice = side_mute_channel(spec); + nid = side_mute_channel(spec); + if (nid) { + knew = via_clone_control(spec, &via_hp_mixer[1]); + if (knew == NULL) + return -ENOMEM; + knew->subdevice = nid; + } return 0; } |