mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 02:09:42 +00:00
drm: imx: convert to drm_crtc_send_vblank_event()
ipu_crtc_handle_pageflip() was calling drm_send_vblank_event() with a pipe argument of -1. Commitcc1ef118fc
("drm/irq: Make pipe unsigned and name consistent") now makes this error obvious, as we now may get a warning from: if (WARN_ON(pipe >= dev->num_crtcs)) in drm_vblank_count_and_time(). Prior to this change, we would end up making out-of-bounds array accesses via: struct drm_vblank_crtc *vblank = &dev->vblank[crtc]; and *vblanktime = vblanktimestamp(dev, pipe, cur_vblank); So, this has been broken for a very long time, and is not a result of the above commit. Since we don't care about the staging versions, I've tagged this with the earliest mainline commit where we do care, even though this commit did not introduce the bug. Fixes:6556f7f82b
("drm: imx: Move imx-drm driver out of staging") Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
This commit is contained in:
parent
3f3a7280d4
commit
69d21fc0a2
1 changed files with 2 additions and 1 deletions
|
@ -212,7 +212,8 @@ static void ipu_crtc_handle_pageflip(struct ipu_crtc *ipu_crtc)
|
|||
|
||||
spin_lock_irqsave(&drm->event_lock, flags);
|
||||
if (ipu_crtc->page_flip_event)
|
||||
drm_send_vblank_event(drm, -1, ipu_crtc->page_flip_event);
|
||||
drm_crtc_send_vblank_event(&ipu_crtc->base,
|
||||
ipu_crtc->page_flip_event);
|
||||
ipu_crtc->page_flip_event = NULL;
|
||||
imx_drm_crtc_vblank_put(ipu_crtc->imx_crtc);
|
||||
spin_unlock_irqrestore(&drm->event_lock, flags);
|
||||
|
|
Loading…
Reference in a new issue