Hello Andrey Grodzovsky, The patch e91e5f080e03: "drm/sched: Set error to s_fence if HW job submission failed." from Oct 24, 2019, leads to the following static checker warning: drivers/gpu/drm/scheduler/sched_main.c:500 drm_sched_resubmit_jobs() warn: passing zero to 'PTR_ERR' drivers/gpu/drm/scheduler/sched_main.c 477 void drm_sched_resubmit_jobs(struct drm_gpu_scheduler *sched) 478 { 479 struct drm_sched_job *s_job, *tmp; 480 uint64_t guilty_context; 481 bool found_guilty = false; 482 struct dma_fence *fence; 483 484 list_for_each_entry_safe(s_job, tmp, &sched->ring_mirror_list, node) { 485 struct drm_sched_fence *s_fence = s_job->s_fence; 486 487 if (!found_guilty && atomic_read(&s_job->karma) > sched->hang_limit) { 488 found_guilty = true; 489 guilty_context = s_job->s_fence->scheduled.context; 490 } 491 492 if (found_guilty && s_job->s_fence->scheduled.context == guilty_context) 493 dma_fence_set_error(&s_fence->finished, -ECANCELED); 494 495 dma_fence_put(s_job->s_fence->parent); 496 fence = sched->ops->run_job(s_job); 497 498 if (IS_ERR_OR_NULL(fence)) { ^^^^^^^^^^^^^^^^^^^^ 499 s_job->s_fence->parent = NULL; 500 dma_fence_set_error(&s_fence->finished, PTR_ERR(fence)); ^^^^^^^^^^^^^^ If "fence" is NULL then it triggers a WARN_ON() inside the dma_fence_set_error() function. WARN_ON(error >= 0 || error < -MAX_ERRNO); ^^^^^^^^^^ 501 } else { 502 s_job->s_fence->parent = fence; 503 } 504 505 506 } 507 } regards, dan carpenter _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel