diff options
author | Kevin Hilman <khilman@linaro.org> | 2015-09-14 14:21:39 -0700 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2015-09-14 14:21:39 -0700 |
commit | f249a14dd1b6b341e7b5e29b64c0edae6e13b7f5 (patch) | |
tree | e5b53c75e42b5ac0d9b8feac65ce4b7a1b2a17bd /sound/pci/hda/hda_generic.c | |
parent | 48cf795880b441a6c59cd840d0475fac7fdffd87 (diff) | |
parent | 0c5c1f1a4f991ee015da85cce6d2d9f9c9380b4f (diff) |
Merge tag 'v4.1.7' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into linux-linaro-lsk-v4.1lsk-v4.1-15.09
This is the 4.1.7 stable release
* tag 'v4.1.7' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (165 commits)
Linux 4.1.7
ARM: 8405/1: VDSO: fix regression with toolchains lacking ld.bfd executable
x86/idle: Restore trace_cpu_idle to mwait_idle() calls
x86/apic: Fix fallout from x2apic cleanup
x86/xen: make CONFIG_XEN depend on CONFIG_X86_LOCAL_APIC
arm64: perf: fix unassigned cpu_pmu->plat_device when probing PMU PPIs
arm64: KVM: Fix host crash when injecting a fault into a 32bit guest
fnic: Use the local variable instead of I/O flag to acquire io_req_lock in fnic_queuecommand() to avoid deadloack
Add factory recertified Crucial M500s to blacklist
can: pcan_usb: don't provide CAN FD bittimings by non-FD adapters
SCSI: Fix NULL pointer dereference in runtime PM
genirq: Introduce irq_chip_set_type_parent() helper
genirq: Don't return ENOSYS in irq_chip_retrigger_hierarchy
ARM: OMAP: wakeupgen: Restore the irq_set_type() mechanism
irqchip/crossbar: Restore set_wake functionality
irqchip/crossbar: Restore the mask on suspend behaviour
irqchip/crossbar: Restore the irq_set_type() mechanism
9p: ensure err is initialized to 0 in p9_client_read/write
drm/i915: Avoid TP3 on CHV
drm/i915: remove HBR2 from chv supported list
...
Diffstat (limited to 'sound/pci/hda/hda_generic.c')
-rw-r--r-- | sound/pci/hda/hda_generic.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c index ac0db1679f09..5bc7f2e2715c 100644 --- a/sound/pci/hda/hda_generic.c +++ b/sound/pci/hda/hda_generic.c @@ -671,7 +671,8 @@ static bool is_active_nid(struct hda_codec *codec, hda_nid_t nid, } for (i = 0; i < path->depth; i++) { if (path->path[i] == nid) { - if (dir == HDA_OUTPUT || path->idx[i] == idx) + if (dir == HDA_OUTPUT || idx == -1 || + path->idx[i] == idx) return true; break; } @@ -682,7 +683,7 @@ static bool is_active_nid(struct hda_codec *codec, hda_nid_t nid, /* check whether the NID is referred by any active paths */ #define is_active_nid_for_any(codec, nid) \ - is_active_nid(codec, nid, HDA_OUTPUT, 0) + is_active_nid(codec, nid, HDA_OUTPUT, -1) /* get the default amp value for the target state */ static int get_amp_val_to_activate(struct hda_codec *codec, hda_nid_t nid, @@ -883,8 +884,7 @@ void snd_hda_activate_path(struct hda_codec *codec, struct nid_path *path, struct hda_gen_spec *spec = codec->spec; int i; - if (!enable) - path->active = false; + path->active = enable; /* make sure the widget is powered up */ if (enable && (spec->power_down_unused || codec->power_save_node)) @@ -902,9 +902,6 @@ void snd_hda_activate_path(struct hda_codec *codec, struct nid_path *path, if (has_amp_out(codec, path, i)) activate_amp_out(codec, path, i, enable); } - - if (enable) - path->active = true; } EXPORT_SYMBOL_GPL(snd_hda_activate_path); |