mutex_lock(&guc->submission_state.lock);
 
-       xa_for_each(&guc->submission_state.exec_queue_lookup, index, q)
+       xa_for_each(&guc->submission_state.exec_queue_lookup, index, q) {
+               /* Prevent redundant attempts to stop parallel queues */
+               if (q->guc->id != index)
+                       continue;
+
                guc_exec_queue_stop(guc, q);
+       }
 
        mutex_unlock(&guc->submission_state.lock);
 
 
        mutex_lock(&guc->submission_state.lock);
        atomic_dec(&guc->submission_state.stopped);
-       xa_for_each(&guc->submission_state.exec_queue_lookup, index, q)
+       xa_for_each(&guc->submission_state.exec_queue_lookup, index, q) {
+               /* Prevent redundant attempts to start parallel queues */
+               if (q->guc->id != index)
+                       continue;
+
                guc_exec_queue_start(q);
+       }
        mutex_unlock(&guc->submission_state.lock);
 
        wake_up_all(&guc->ct.wq);