Using list_move() instead of list_del() + list_add() in ttm_execbuf_util.c. Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> Signed-off-by: Baokun Li <libaokun1@xxxxxxxxxx> --- V1->V2: CC mailist drivers/gpu/drm/ttm/ttm_execbuf_util.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/ttm/ttm_execbuf_util.c b/drivers/gpu/drm/ttm/ttm_execbuf_util.c index 071c48d672c6..c50943888d04 100644 --- a/drivers/gpu/drm/ttm/ttm_execbuf_util.c +++ b/drivers/gpu/drm/ttm/ttm_execbuf_util.c @@ -95,8 +95,7 @@ int ttm_eu_reserve_buffers(struct ww_acquire_ctx *ticket, if (ret == -EALREADY && dups) { struct ttm_validate_buffer *safe = entry; entry = list_prev_entry(entry, head); - list_del(&safe->head); - list_add(&safe->head, dups); + list_move(&safe->head, dups); continue; } @@ -135,8 +134,7 @@ int ttm_eu_reserve_buffers(struct ww_acquire_ctx *ticket, /* move this item to the front of the list, * forces correct iteration of the loop without keeping track */ - list_del(&entry->head); - list_add(&entry->head, list); + list_move(&entry->head, list); } return 0;