if (new_ref_count == 0 &&
(!kbasep_js_is_submit_allowed(js_devdata, kctx) ||
kbdev->pm.suspending)) {
+ int num_slots = kbdev->gpu_props.num_job_slots;
+ int slot;
+
/* Last reference, and we've been told to remove this context
* from the Run Pool */
dev_dbg(kbdev->dev, "JS: RunPool Remove Context %p because as_busy_refcount=%d, jobs=%d, allowed=%d",
* other thread will be operating in this
* code whilst we are
*/
+
+ /* Recalculate pullable status for all slots */
+ for (slot = 0; slot < num_slots; slot++) {
+ if (kbase_js_ctx_pullable(kctx, slot, false))
+ kbase_js_ctx_list_add_pullable_nolock(kbdev,
+ kctx, slot);
+ }
+
spin_unlock_irqrestore(&js_devdata->runpool_irq.lock, flags);
kbase_backend_release_ctx_noirq(kbdev, kctx);