mirror of
https://gitlab.freedesktop.org/plymouth/plymouth.git
synced 2026-05-07 18:58:01 +02:00
[drm] Don't remove drm fb's that we don't know about
When we access to the kernel console's fb, we don't own
it and shouldn't remove it.
This is like commit 808e129fd1,
but for radeon and nouveau instead of intel.
This commit is contained in:
parent
186381ee63
commit
344afa14f5
2 changed files with 10 additions and 2 deletions
|
|
@ -60,6 +60,8 @@ struct _ply_renderer_buffer
|
|||
unsigned long width;
|
||||
unsigned long height;
|
||||
unsigned long row_stride;
|
||||
|
||||
uint32_t added_fb : 1;
|
||||
};
|
||||
|
||||
struct _ply_renderer_driver
|
||||
|
|
@ -250,6 +252,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);
|
||||
|
|
@ -317,7 +320,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);
|
||||
|
||||
nouveau_bo_ref (NULL, &buffer->object);
|
||||
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ struct _ply_renderer_buffer
|
|||
unsigned long width;
|
||||
unsigned long height;
|
||||
unsigned long row_stride;
|
||||
|
||||
uint32_t added_fb : 1;
|
||||
};
|
||||
|
||||
struct _ply_renderer_driver
|
||||
|
|
@ -275,6 +277,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);
|
||||
|
|
@ -342,7 +345,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);
|
||||
|
||||
radeon_bo_unref (buffer->object);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue