diff options
author | 2016-01-28 12:01:04 +0100 | |
---|---|---|
committer | 2016-02-08 09:54:54 +0100 | |
commit | 4020b220edb3419975c0d9322ee0e0c07e09f6bf (patch) | |
tree | c7a329bd5bab55bbdb75ec5c3361bc7f3b9f9f20 /include/drm | |
parent | drm/vmwgfx: fix a NULL dereference (diff) | |
download | linux-4020b220edb3419975c0d9322ee0e0c07e09f6bf.tar.gz linux-4020b220edb3419975c0d9322ee0e0c07e09f6bf.tar.bz2 linux-4020b220edb3419975c0d9322ee0e0c07e09f6bf.zip |
drm/vblank: Use drm_event_reserve_init
Well we can't use that directly since that code must hold
dev->event_lock already. Extract an _unlocked version.
Embarrassingly I've totally forgotten about this patch and any kind of
event-based vblank wait totally blew up, killing the kernel.
v2: Pick the right base struct, someone didn't noticed that gcc was
unhappy. No bug since the addresses at least matched (Daniel Stone)
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Daniel Stone <daniels@collabora.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1453978864-1513-1-git-send-email-daniel.vetter@ffwll.ch
Diffstat (limited to 'include/drm')
-rw-r--r-- | include/drm/drmP.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 306ef32ec086..1b71852d0a55 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -926,6 +926,10 @@ ssize_t drm_read(struct file *filp, char __user *buffer, int drm_release(struct inode *inode, struct file *filp); int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv); unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait); +int drm_event_reserve_init_locked(struct drm_device *dev, + struct drm_file *file_priv, + struct drm_pending_event *p, + struct drm_event *e); int drm_event_reserve_init(struct drm_device *dev, struct drm_file *file_priv, struct drm_pending_event *p, |