diff --git a/rpcs3/Emu/Cell/lv2/lv2.cpp b/rpcs3/Emu/Cell/lv2/lv2.cpp index 08294949a0..e3333532f0 100644 --- a/rpcs3/Emu/Cell/lv2/lv2.cpp +++ b/rpcs3/Emu/Cell/lv2/lv2.cpp @@ -1592,7 +1592,7 @@ void lv2_obj::schedule_all(u64 current_time) if (target->state & cpu_flag::suspend) { ppu_log.trace("schedule(): %s", target->id); - target->state ^= (cpu_flag::signal + cpu_flag::suspend); + target->state.atomic_op(FN(x += cpu_flag::signal, x -= cpu_flag::suspend)); target->start_time = 0; if (notify_later_idx == std::size(g_to_notify))