diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2010-03-26 14:07:16 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-04-20 00:22:38 -0400 |
commit | b78315f051de8d207bead90470aa216c0617572b (patch) | |
tree | 30f5ea1c70495763d2d98fcbb1b087f1a2c6d594 /drivers/gpu/drm/drm_stub.c | |
parent | 79b9517a33a283c5d9db875c263670ed1e055f7e (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.c | 4 |
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); |