|
@@ -407,10 +407,16 @@ static int conexant_add_jack(struct hda_codec *codec,
|
|
|
struct conexant_spec *spec;
|
|
|
struct conexant_jack *jack;
|
|
|
const char *name;
|
|
|
- int err;
|
|
|
+ int i, err;
|
|
|
|
|
|
spec = codec->spec;
|
|
|
snd_array_init(&spec->jacks, sizeof(*jack), 32);
|
|
|
+
|
|
|
+ jack = spec->jacks.list;
|
|
|
+ for (i = 0; i < spec->jacks.used; i++, jack++)
|
|
|
+ if (jack->nid == nid)
|
|
|
+ return 0 ; /* already present */
|
|
|
+
|
|
|
jack = snd_array_new(&spec->jacks);
|
|
|
name = (type == SND_JACK_HEADPHONE) ? "Headphone" : "Mic" ;
|
|
|
|