On Thu, Jun 2, 2022 at 11:47 AM Christian König <ckoenig.leichtzumerken@xxxxxxxxx> wrote: > > The resource must be on the LRU before ttm_lru_bulk_move_add() is called. > > Signed-off-by: Christian König <christian.koenig@xxxxxxx> This should at least fix the null pointer in these bugs: Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1992 Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2034 Alex > --- > drivers/gpu/drm/ttm/ttm_resource.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/ttm/ttm_resource.c b/drivers/gpu/drm/ttm/ttm_resource.c > index 65889b3caf50..928b9140f3c5 100644 > --- a/drivers/gpu/drm/ttm/ttm_resource.c > +++ b/drivers/gpu/drm/ttm/ttm_resource.c > @@ -169,15 +169,17 @@ void ttm_resource_init(struct ttm_buffer_object *bo, > res->bus.is_iomem = false; > res->bus.caching = ttm_cached; > res->bo = bo; > - INIT_LIST_HEAD(&res->lru); > > man = ttm_manager_type(bo->bdev, place->mem_type); > spin_lock(&bo->bdev->lru_lock); > man->usage += res->num_pages << PAGE_SHIFT; > - if (bo->bulk_move) > + if (bo->bulk_move) { > + list_add_tail(&res->lru, &man->lru[bo->priority]); > ttm_lru_bulk_move_add(bo->bulk_move, res); > - else > + } else { > + INIT_LIST_HEAD(&res->lru); > ttm_resource_move_to_lru_tail(res); > + } > spin_unlock(&bo->bdev->lru_lock); > } > EXPORT_SYMBOL(ttm_resource_init); > -- > 2.25.1 >