|
@@ -852,15 +852,17 @@ void snd_hda_pick_fixup(struct hda_codec *codec,
|
|
|
if (codec->modelname && !strcmp(codec->modelname, "nofixup")) {
|
|
|
codec->fixup_list = NULL;
|
|
|
codec->fixup_id = -1;
|
|
|
+ codec->fixup_forced = 1;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (codec->modelname && models) {
|
|
|
while (models->name) {
|
|
|
if (!strcmp(codec->modelname, models->name)) {
|
|
|
- id = models->id;
|
|
|
- name = models->name;
|
|
|
- break;
|
|
|
+ codec->fixup_id = models->id;
|
|
|
+ codec->fixup_name = models->name;
|
|
|
+ codec->fixup_forced = 1;
|
|
|
+ return;
|
|
|
}
|
|
|
models++;
|
|
|
}
|
|
@@ -889,6 +891,7 @@ void snd_hda_pick_fixup(struct hda_codec *codec,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ codec->fixup_forced = 0;
|
|
|
codec->fixup_id = id;
|
|
|
if (id >= 0) {
|
|
|
codec->fixup_list = fixlist;
|