From: Ben Skeggs Date: Thu, 23 Jan 2014 00:49:47 +0000 (+1000) Subject: drm/nouveau: call drm_vblank_cleanup() earlier X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=1139ffb96b3f4e8be9006552d2dd4d302d62c2ee;p=linux-beck.git drm/nouveau: call drm_vblank_cleanup() earlier Fixes a NULL-ptr deref seen on module unload sometimes. Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index a22d019bb217..b4262ad66b18 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c @@ -74,14 +74,14 @@ nouveau_display_vblank_fini(struct drm_device *dev) struct nouveau_display *disp = nouveau_display(dev); int i; + drm_vblank_cleanup(dev); + if (disp->vblank) { for (i = 0; i < dev->mode_config.num_crtc; i++) nouveau_event_ref(NULL, &disp->vblank[i]); kfree(disp->vblank); disp->vblank = NULL; } - - drm_vblank_cleanup(dev); } static int