On 17/06/2021 09:04, ChunyouTang wrote:
From: ChunyouTang tangchunyou@icubecorp.cn
The 'break' can cause 'Memory manager not clean during takedown'
It cannot use break to finish the circulation,it should use
continue to traverse the circulation.it should put every mapping
which is not NULL.
You don't appear to have answered my question about whether you've actually seen this happen (and ideally what circumstances). In my previous email[1] I explained why I don't think this is needed. You need to convince me that I've overlooked something.
Thanks,
Steve
[1] https://lore.kernel.org/r/31644881-134a-2d6e-dddf-e658a3a8176b%40arm.com
Signed-off-by: ChunyouTang tangchunyou@icubecorp.cn
drivers/gpu/drm/panfrost/panfrost_job.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panfrost/panfrost_job.c b/drivers/gpu/drm/panfrost/panfrost_job.c index 6003cfeb1322..52bccc1d2d42 100644 --- a/drivers/gpu/drm/panfrost/panfrost_job.c +++ b/drivers/gpu/drm/panfrost/panfrost_job.c @@ -281,7 +281,7 @@ static void panfrost_job_cleanup(struct kref *ref) if (job->mappings) { for (i = 0; i < job->bo_count; i++) { if (!job->mappings[i])
break;
continue; atomic_dec(&job->mappings[i]->obj->gpu_usecount); panfrost_gem_mapping_put(job->mappings[i]);