From: Hongfu Li <[email protected]>
When iterating all TTM_MAX_BO_PRIORITY LRU lists using loop variable i,
the list_empty() check references man->lru[0] instead of man->lru[i].
The loop therefore relies entirely on the state of priority 0 LRU
rather than checking each priority list individually.
Change hardcoded index man->lru[0] to man->lru[i] to correctly
inspect every per-priority LRU list.
Fixes: cf6c467d67d3 ("drm/ttm: add BO priorities for the LRUs")
Signed-off-by: Hongfu Li <[email protected]>
---
v2:
- Only the commit message was updated, including the Fixes: tag; no code
changes.
- Link to v1:
https://lore.kernel.org/all/[email protected]/
---
drivers/gpu/drm/ttm/ttm_device.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c
index d3bfb9a696a7..e22c77f4228e 100644
--- a/drivers/gpu/drm/ttm/ttm_device.c
+++ b/drivers/gpu/drm/ttm/ttm_device.c
@@ -266,7 +266,7 @@ void ttm_device_fini(struct ttm_device *bdev)
spin_lock(&bdev->lru_lock);
for (i = 0; i < TTM_MAX_BO_PRIORITY; ++i)
- if (list_empty(&man->lru[0]))
+ if (list_empty(&man->lru[i]))
pr_debug("Swap list %d was clean\n", i);
spin_unlock(&bdev->lru_lock);
--
2.54.0