diff options
Diffstat (limited to 'linux-core')
| -rw-r--r-- | linux-core/drm_drv.c | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c index d4ef1306..37539f34 100644 --- a/linux-core/drm_drv.c +++ b/linux-core/drm_drv.c @@ -163,6 +163,18 @@ int drm_lastclose(drm_device_t * dev)  	if (dev->irq_enabled)  		drm_irq_uninstall(dev); +	/* Free drawable information memory */ +	for (i = 0; i < dev->drw_bitfield_length / sizeof(*dev->drw_bitfield); +	     i++) { +		drm_drawable_info_t *info = drm_get_drawable_info(dev, i); + +		if (info) { +			drm_free(info->rects, info->num_rects * +				 sizeof(drm_clip_rect_t), DRM_MEM_BUFS); +			drm_free(info, sizeof(*info), DRM_MEM_BUFS); +		} +	} +  	mutex_lock(&dev->struct_mutex);  	del_timer(&dev->timer); | 
