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 | |
| 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>
| -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); |
