From f7b55ec8d4e13d3cae4984912abd21ea5fc95c35 Mon Sep 17 00:00:00 2001 From: Eladash Date: Sun, 21 Nov 2021 11:26:38 +0200 Subject: [PATCH] lv2: Add missing reservation disowning in lv2_obj::yield --- rpcs3/Emu/Cell/lv2/lv2.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rpcs3/Emu/Cell/lv2/lv2.cpp b/rpcs3/Emu/Cell/lv2/lv2.cpp index 9a60bf6d55..f45e5edc7b 100644 --- a/rpcs3/Emu/Cell/lv2/lv2.cpp +++ b/rpcs3/Emu/Cell/lv2/lv2.cpp @@ -1210,6 +1210,12 @@ bool lv2_obj::awake(cpu_thread* const thread, s32 prio) bool lv2_obj::yield(cpu_thread& thread) { vm::temporary_unlock(thread); + + if (auto ppu = thread.try_get()) + { + ppu->raddr = 0; // Clear reservation + } + return awake(&thread, yield_cmd); }