summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/drm/drm_atomic.c
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2017-09-03 13:33:49 +0000
committerjsg <jsg@openbsd.org>2017-09-03 13:33:49 +0000
commitbd592cd43a29100f00dcb91b5b5fd47c8629ef39 (patch)
tree3eedc358dc56b7e5e86be5e9e13ad82ced04c4f7 /sys/dev/pci/drm/drm_atomic.c
parentdrm: Release driver tracking before making the object available again (diff)
downloadwireguard-openbsd-bd592cd43a29100f00dcb91b5b5fd47c8629ef39.tar.xz
wireguard-openbsd-bd592cd43a29100f00dcb91b5b5fd47c8629ef39.zip
drm/atomic: If the atomic check fails, return its value first
From Maarten Lankhorst 3416ee45a8cbeb5bc4b13a754873fbb26a27dccb in linux-4.4.y/4.4.85 a0ffc51e20e90e0c1c2491de2b4b03f48b6caaba in mainline linux
Diffstat (limited to 'sys/dev/pci/drm/drm_atomic.c')
-rw-r--r--sys/dev/pci/drm/drm_atomic.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/drm_atomic.c b/sys/dev/pci/drm/drm_atomic.c
index 6a8e42ff364..3241672ece0 100644
--- a/sys/dev/pci/drm/drm_atomic.c
+++ b/sys/dev/pci/drm/drm_atomic.c
@@ -1247,6 +1247,9 @@ int drm_atomic_check_only(struct drm_atomic_state *state)
if (config->funcs->atomic_check)
ret = config->funcs->atomic_check(state->dev, state);
+ if (ret)
+ return ret;
+
if (!state->allow_modeset) {
for_each_crtc_in_state(state, crtc, crtc_state, i) {
if (drm_atomic_crtc_needs_modeset(crtc_state)) {
@@ -1257,7 +1260,7 @@ int drm_atomic_check_only(struct drm_atomic_state *state)
}
}
- return ret;
+ return 0;
}
EXPORT_SYMBOL(drm_atomic_check_only);