diff options
author | 2019-11-30 11:19:17 +0000 | |
---|---|---|
committer | 2019-11-30 11:19:17 +0000 | |
commit | de60e9182e3ea7b387cda2ea58c0a4cb67e2fb14 (patch) | |
tree | 0d9cc081abbdfb023b4de31f99779e04103d947a /sys/dev/pci/drm/drm_linux.c | |
parent | Not being able to create a resolver is not a fatal condition in unwind, (diff) | |
download | wireguard-openbsd-de60e9182e3ea7b387cda2ea58c0a4cb67e2fb14.tar.xz wireguard-openbsd-de60e9182e3ea7b387cda2ea58c0a4cb67e2fb14.zip |
Move kernel locking inside the sleep machinery. This enables calling
rwsleep(9) with PCATCH and rw_enter(9) with RW_INTR without the kernel
lock. In addition, now tsleep(9) with PCATCH should be safe to use
without the kernel lock if the sleep is purely time-based.
Tested by anton@, cheloha@, chris@
OK anton@, cheloha@
Diffstat (limited to 'sys/dev/pci/drm/drm_linux.c')
-rw-r--r-- | sys/dev/pci/drm/drm_linux.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/pci/drm/drm_linux.c b/sys/dev/pci/drm/drm_linux.c index a53230091f0..ffd8ded926d 100644 --- a/sys/dev/pci/drm/drm_linux.c +++ b/sys/dev/pci/drm/drm_linux.c @@ -1,4 +1,4 @@ -/* $OpenBSD: drm_linux.c,v 1.50 2019/10/23 10:17:40 jsg Exp $ */ +/* $OpenBSD: drm_linux.c,v 1.51 2019/11/30 11:19:17 visa Exp $ */ /* * Copyright (c) 2013 Jonathan Gray <jsg@openbsd.org> * Copyright (c) 2015, 2016 Mark Kettenis <kettenis@openbsd.org> @@ -91,7 +91,7 @@ schedule_timeout(long timeout) sleep_setup(&sls, sch_ident, sch_priority, "schto"); if (timeout != MAX_SCHEDULE_TIMEOUT) sleep_setup_timeout(&sls, timeout); - sleep_setup_signal(&sls, sch_priority); + sleep_setup_signal(&sls); wait = (sch_proc == curproc && timeout > 0); |