mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
etnaviv: drm: fix check if BO is on a deferred destroy list
list_is_linked() isn't the right function to use in order to check if the BO is on a cache bucket or the zombie list, as this checks if the next pointer of the list isn't NULL. This is always the case with the BO list item as it's always initialized, so the next pointer points to the list head itself when the BO isn't on any list. Use list_is_empty() to check if the BO is actually linked into one of the deferred destroy lists. Fixes:1b1f8592c0("etnaviv: drm: properly handle reviving BOs via a lookup") Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20940> (cherry picked from commit196882a147)
This commit is contained in:
parent
0bb555b64d
commit
b9984bbc7d
2 changed files with 3 additions and 3 deletions
|
|
@ -400,7 +400,7 @@
|
|||
"description": "etnaviv: drm: fix check if BO is on a deferred destroy list",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "1b1f8592c03c7e98b7baf89cb4d012bb7af546ac"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -138,8 +138,8 @@ static struct etna_bo *lookup_bo(void *tbl, uint32_t handle)
|
|||
/* found, incr refcnt and return: */
|
||||
bo = etna_bo_ref(entry->data);
|
||||
|
||||
/* don't break the bucket if this bo was found in one */
|
||||
if (list_is_linked(&bo->list)) {
|
||||
/* don't break the bucket/zombie list if this bo was found in one */
|
||||
if (!list_is_empty(&bo->list)) {
|
||||
VG_BO_OBTAIN(bo);
|
||||
etna_device_ref(bo->dev);
|
||||
list_delinit(&bo->list);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue