[drm] Don't remove drm fb's that we don't know

When we access to the kernel console's fb, we don't own
it and shouldn't remove it.

Spotted by Scott James Remnant.
This commit is contained in:
Ray Strode 2009-11-12 12:48:54 -05:00
parent a750b43584
commit 808e129fd1

View file

@ -59,6 +59,8 @@ struct _ply_renderer_buffer
unsigned long width;
unsigned long height;
unsigned long row_stride;
uint32_t added_fb : 1;
};
struct _ply_renderer_driver
@ -262,6 +264,7 @@ create_buffer (ply_renderer_driver_t *driver,
buffer = ply_renderer_buffer_new (driver,
buffer_object, buffer_id,
width, height, *row_stride);
buffer->added_fb = true;
ply_hashtable_insert (driver->buffers,
(void *) (uintptr_t) buffer_id,
buffer);
@ -329,7 +332,8 @@ destroy_buffer (ply_renderer_driver_t *driver,
assert (buffer != NULL);
drmModeRmFB (driver->device_fd, buffer->id);
if (buffer->added_fb)
drmModeRmFB (driver->device_fd, buffer->id);
drm_intel_bo_unreference (buffer->object);