diff options
| author | John Keeping <john@metanate.com> | 2016-03-11 17:21:17 +0000 | 
|---|---|---|
| committer | Mark Yao <mark.yao@rock-chips.com> | 2016-03-28 14:48:29 +0800 | 
| commit | f135046e519dc54a701110fa93a6d61c4989ed96 (patch) | |
| tree | bfd38bcc50a9aeeaa8f188e738c1a7642b5b447a /lib/memory-notifier-error-inject.c | |
| parent | 92915da647be831ddbaa7e03e7528d921ec7f8aa (diff) | |
drm/rockchip: cancel pending vblanks on close
When closing the DRM device while a vblank is pending, we access
file_priv after it has been free'd, which gives:
  Unable to handle kernel NULL pointer dereference at virtual address 00000000
  ...
  PC is at __list_add+0x5c/0xe8
  LR is at send_vblank_event+0x54/0x1f0
  ...
  [<c02952e8>] (__list_add) from [<c031a7b4>] (send_vblank_event+0x54/0x1f0)
  [<c031a760>] (send_vblank_event) from [<c031a9c0>] (drm_send_vblank_event+0x70/0x78)
  [<c031a950>] (drm_send_vblank_event) from [<c031a9f8>] (drm_crtc_send_vblank_event+0x30/0x34)
  [<c031a9c8>] (drm_crtc_send_vblank_event) from [<c0339ad8>] (vop_isr+0x224/0x28c)
  [<c03398b4>] (vop_isr) from [<c0081780>] (handle_irq_event_percpu+0x12c/0x3e4)
This can be triggered somewhat reliably with:
	modetest -M rockchip -v -s ...
Add a preclose hook to the driver so that we can discard any pending
vblank events when the device is closed.
Signed-off-by: John Keeping <john@metanate.com>
Diffstat (limited to 'lib/memory-notifier-error-inject.c')
0 files changed, 0 insertions, 0 deletions
