goto unlock;
        }
 
-       if (rq->engine != engine) { /* preempted virtual engine */
-               struct virtual_engine *ve = to_virtual_engine(rq->engine);
-
-               /*
-                * intel_context_inflight() is only protected by virtue
-                * of process_csb() being called only by the tasklet (or
-                * directly from inside reset while the tasklet is suspended).
-                * Assert that neither of those are allowed to run while we
-                * poke at the request queues.
-                */
-               GEM_BUG_ON(!reset_in_progress(&engine->execlists));
-
-               /*
-                * An unsubmitted request along a virtual engine will
-                * remain on the active (this) engine until we are able
-                * to process the context switch away (and so mark the
-                * context as no longer in flight). That cannot have happened
-                * yet, otherwise we would not be hanging!
-                */
-               spin_lock(&ve->base.active.lock);
-               GEM_BUG_ON(intel_context_inflight(rq->context) != engine);
-               GEM_BUG_ON(ve->request != rq);
-               ve->request = NULL;
-               spin_unlock(&ve->base.active.lock);
-               i915_request_put(rq);
-
-               rq->engine = engine;
-       }
-
        /*
         * Transfer this request onto the hold queue to prevent it
         * being resumbitted to HW (and potentially completed) before we have