aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_stub.c
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2010-03-26 14:07:16 -0400
committerDave Airlie <airlied@redhat.com>2010-04-20 00:22:38 -0400
commitb78315f051de8d207bead90470aa216c0617572b (patch)
tree30f5ea1c70495763d2d98fcbb1b087f1a2c6d594 /drivers/gpu/drm/drm_stub.c
parent79b9517a33a283c5d9db875c263670ed1e055f7e (diff)
drm: delay vblank cleanup until after driver unload
Drivers may use vblank calls now (e.g. drm_vblank_off) in their unload paths, so don't clean up the vblank related structures until after driver unload. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_stub.c')
-rw-r--r--drivers/gpu/drm/drm_stub.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c
index ad73e141afdb..543e79c1ce5a 100644
--- a/drivers/gpu/drm/drm_stub.c
+++ b/drivers/gpu/drm/drm_stub.c
@@ -515,8 +515,6 @@ void drm_put_dev(struct drm_device *dev)
515 } 515 }
516 driver = dev->driver; 516 driver = dev->driver;
517 517
518 drm_vblank_cleanup(dev);
519
520 drm_lastclose(dev); 518 drm_lastclose(dev);
521 519
522 if (drm_core_has_MTRR(dev) && drm_core_has_AGP(dev) && 520 if (drm_core_has_MTRR(dev) && drm_core_has_AGP(dev) &&
@@ -536,6 +534,8 @@ void drm_put_dev(struct drm_device *dev)
536 dev->agp = NULL; 534 dev->agp = NULL;
537 } 535 }
538 536
537 drm_vblank_cleanup(dev);
538
539 list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) 539 list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head)
540 drm_rmmap(dev, r_list->map); 540 drm_rmmap(dev, r_list->map);
541 drm_ht_remove(&dev->map_hash); 541 drm_ht_remove(&dev->map_hash);