cleanup framebuffers on drm unload

main
Dave Airlie 2007-04-12 11:55:10 +10:00
parent fb6c5aacb9
commit 1bba3cb3b3
1 changed files with 6 additions and 1 deletions

View File

@ -582,7 +582,7 @@ void drm_mode_config_cleanup(drm_device_t *dev)
{ {
struct drm_output *output, *ot; struct drm_output *output, *ot;
struct drm_crtc *crtc, *ct; struct drm_crtc *crtc, *ct;
struct drm_crtc *fb, *fbt;
list_for_each_entry_safe(output, ot, &dev->mode_config.output_list, head) { list_for_each_entry_safe(output, ot, &dev->mode_config.output_list, head) {
drm_output_destroy(output); drm_output_destroy(output);
} }
@ -590,6 +590,11 @@ void drm_mode_config_cleanup(drm_device_t *dev)
list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, head) { list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, head) {
drm_crtc_destroy(crtc); drm_crtc_destroy(crtc);
} }
list_for_each_entry_safe(fb, fbt, &dev->mode_config.fb_list, head) {
drmfb_remove(dev, fb);
drm_framebuffer_destroy(fb);
}
} }
EXPORT_SYMBOL(drm_mode_config_cleanup); EXPORT_SYMBOL(drm_mode_config_cleanup);