summaryrefslogtreecommitdiff
path: root/kernel/sys.c
diff options
context:
space:
mode:
authorLyude Paul <lyude@redhat.com>2017-01-12 02:25:24 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-06-17 04:41:54 (GMT)
commitc7a29cf6c34a7873eb8e92b9a60b1a863ea72f6d (patch)
tree687ceedad005d910ea5d8d82f455e813da2e5f86 /kernel/sys.c
parentd2beb1a9dd824bcf442e025cbf7fd1e3b4cf8db2 (diff)
downloadlinux-c7a29cf6c34a7873eb8e92b9a60b1a863ea72f6d.tar.xz
drm/nouveau: Handle fbcon suspend/resume in seperate worker
[ Upstream commit 15266ae38fe09dae07bd8812cb7a7717b1e1d992 ] Resuming from RPM can happen while already holding dev->mode_config.mutex. This means we can't actually handle fbcon in any RPM resume workers, since restoring fbcon requires grabbing dev->mode_config.mutex again. So move the fbcon suspend/resume code into it's own worker, and rely on that instead to avoid deadlocking. This fixes more deadlocks for runtime suspending the GPU on the ThinkPad W541. Reproduction recipe: - Get a machine with both optimus and a nvidia card with connectors attached to it - Wait for the nvidia GPU to suspend - Attempt to manually reprobe any of the connectors on the nvidia GPU using sysfs - *deadlock* [airlied: use READ_ONCE to address Hans's comment] Signed-off-by: Lyude <lyude@redhat.com> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Kilian Singer <kilian.singer@quantumtechnology.info> Cc: Lukas Wunner <lukas@wunner.de> Cc: David Airlie <airlied@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/sys.c')
0 files changed, 0 insertions, 0 deletions