Looking through the whole definitions, some fields have inappropriate array sizes, especially about the capture. The array assigned to each input (pin) should have HDA_MAX_NUM_INPUTS entries while the array assigned to each ADC should have AUTO_CFG_MAX_INS entries.
Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/pci/hda/hda_generic.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/pci/hda/hda_generic.h b/sound/pci/hda/hda_generic.h index eacfca9..696b606 100644 --- a/sound/pci/hda/hda_generic.h +++ b/sound/pci/hda/hda_generic.h @@ -102,11 +102,11 @@ struct hda_gen_spec {
/* capture */ unsigned int num_adc_nids; - hda_nid_t adc_nids[AUTO_CFG_MAX_OUTS]; + hda_nid_t adc_nids[AUTO_CFG_MAX_INS]; 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_INS]; - int input_label_idxs[AUTO_CFG_MAX_INS]; + const char *input_labels[HDA_MAX_NUM_INPUTS]; + int input_label_idxs[HDA_MAX_NUM_INPUTS];
/* capture setup for dynamic dual-adc switch */ hda_nid_t cur_adc; @@ -148,7 +148,7 @@ struct hda_gen_spec { int num_all_dacs; hda_nid_t all_dacs[16]; int num_all_adcs; - hda_nid_t all_adcs[AUTO_CFG_MAX_OUTS]; + hda_nid_t all_adcs[AUTO_CFG_MAX_INS];
/* path list */ struct snd_array paths;