ALSA: hda - Fix wrong arguments for path deactivation checks
The arguments to call is_active_nid() in activate_amp() were swapped, and this resulted in the muted amp on some SPDIF output pins. Also, the index to be passed to is_active_nid() must be idx_to_check. Otherwise it checks the wrong connection in the case of implicit aamix connection paths. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
5397145f4f
commit
7dddf2aed8
|
@ -569,7 +569,7 @@ static bool has_amp_out(struct hda_codec *codec, struct nid_path *path, int idx)
|
|||
|
||||
/* check whether the given (nid,dir,idx) is active */
|
||||
static bool is_active_nid(struct hda_codec *codec, hda_nid_t nid,
|
||||
unsigned int idx, unsigned int dir)
|
||||
unsigned int dir, unsigned int idx)
|
||||
{
|
||||
struct hda_gen_spec *spec = codec->spec;
|
||||
int i, n;
|
||||
|
@ -642,7 +642,7 @@ static void activate_amp(struct hda_codec *codec, hda_nid_t nid, int dir,
|
|||
unsigned int caps;
|
||||
unsigned int mask, val;
|
||||
|
||||
if (!enable && is_active_nid(codec, nid, dir, idx))
|
||||
if (!enable && is_active_nid(codec, nid, dir, idx_to_check))
|
||||
return;
|
||||
|
||||
caps = query_amp_caps(codec, nid, dir);
|
||||
|
|
Loading…
Reference in New Issue