ALSA: hda - make sure there are enough input labels and paths
authorDavid Henningsson <david.henningsson@canonical.com>
Fri, 18 Jan 2013 14:43:01 +0000 (15:43 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 18 Jan 2013 14:48:13 +0000 (15:48 +0100)
I found a codec configuration which had six inputs, so the max of
five was not appropriate.

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

index 174806e..10b14a9 100644 (file)
@@ -2652,7 +2652,7 @@ static struct nid_path *get_input_path(struct hda_codec *codec, int adc_idx, int
        }
        if (spec->dyn_adc_switch)
                adc_idx = spec->dyn_adc_idx[imux_idx];
-       if (adc_idx < 0 || adc_idx >= AUTO_CFG_MAX_OUTS) {
+       if (adc_idx < 0 || adc_idx >= AUTO_CFG_MAX_INS) {
                snd_BUG();
                return NULL;
        }
index 594a9cc..eacfca9 100644 (file)
@@ -105,8 +105,8 @@ struct hda_gen_spec {
        hda_nid_t adc_nids[AUTO_CFG_MAX_OUTS];
        hda_nid_t dig_in_nid;           /* digital-in NID; optional */
        hda_nid_t mixer_nid;            /* analog-mixer NID */
-       const char *input_labels[AUTO_CFG_MAX_OUTS];
-       int input_label_idxs[AUTO_CFG_MAX_OUTS];
+       const char *input_labels[AUTO_CFG_MAX_INS];
+       int input_label_idxs[AUTO_CFG_MAX_INS];
 
        /* capture setup for dynamic dual-adc switch */
        hda_nid_t cur_adc;
@@ -159,7 +159,7 @@ struct hda_gen_spec {
        int speaker_paths[AUTO_CFG_MAX_OUTS];
        int aamix_out_paths[3];
        int digout_paths[AUTO_CFG_MAX_OUTS];
-       int input_paths[HDA_MAX_NUM_INPUTS][AUTO_CFG_MAX_OUTS];
+       int input_paths[HDA_MAX_NUM_INPUTS][AUTO_CFG_MAX_INS];
        int loopback_paths[HDA_MAX_NUM_INPUTS];
        int digin_path;