}
if (!path)
dac = dacs[i] = 0;
- else
+ else {
print_nid_path("output", path);
+ path->active = true;
+ }
if (dac)
badness += assign_out_path_ctls(codec, pin, dac);
}
dacs[i] = dac;
found = true;
print_nid_path("output", path);
+ path->active = true;
}
}
return found;
if (!path)
continue;
print_nid_path("digout", path);
+ path->active = true;
if (!nums) {
spec->multiout.dig_out_nid = dig_nid;
spec->dig_out_type = spec->autocfg.dig_out_type[0];
path = snd_hda_get_nid_path(codec, dac, pin);
if (!path)
return;
- if (path->active)
- return;
- snd_hda_activate_path(codec, path, true, true);
- set_pin_eapd(codec, pin, true);
+ snd_hda_activate_path(codec, path, path->active, true);
+ set_pin_eapd(codec, pin, path->active);
}
/* initialize primary output paths */