summaryrefslogtreecommitdiff
path: root/sound/hda/hdac_component.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2019-04-15 15:51:49 +1000
committerDave Airlie <airlied@redhat.com>2019-04-15 15:51:49 +1000
commitf06ddb53096b4cddad2c530125a78a3c2a1d28a4 (patch)
tree36a05922af22272dc82357ce82be21a3a9214bd0 /sound/hda/hdac_component.c
parentecc4946f11a07884f230450a6d5a92337bc21375 (diff)
parentdc4060a5dc2557e6b5aa813bf5b73677299d62d2 (diff)
downloadlinux-f06ddb53096b4cddad2c530125a78a3c2a1d28a4.tar.gz
BackMerge v5.1-rc5 into drm-next
Need rc5 for udl fix to add udl cleanups on top. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'sound/hda/hdac_component.c')
-rw-r--r--sound/hda/hdac_component.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/hda/hdac_component.c b/sound/hda/hdac_component.c
index 13915fdc6a54..dfe7e755f594 100644
--- a/sound/hda/hdac_component.c
+++ b/sound/hda/hdac_component.c
@@ -69,13 +69,15 @@ void snd_hdac_display_power(struct hdac_bus *bus, unsigned int idx, bool enable)
dev_dbg(bus->dev, "display power %s\n",
enable ? "enable" : "disable");
+
+ mutex_lock(&bus->lock);
if (enable)
set_bit(idx, &bus->display_power_status);
else
clear_bit(idx, &bus->display_power_status);
if (!acomp || !acomp->ops)
- return;
+ goto unlock;
if (bus->display_power_status) {
if (!bus->display_power_active) {
@@ -98,6 +100,8 @@ void snd_hdac_display_power(struct hdac_bus *bus, unsigned int idx, bool enable)
bus->display_power_active = 0;
}
}
+ unlock:
+ mutex_unlock(&bus->lock);
}
EXPORT_SYMBOL_GPL(snd_hdac_display_power);