diff --git a/rpcs3/Emu/Cell/MFC.cpp b/rpcs3/Emu/Cell/MFC.cpp index 20ca75e149..57c1ca2611 100644 --- a/rpcs3/Emu/Cell/MFC.cpp +++ b/rpcs3/Emu/Cell/MFC.cpp @@ -142,6 +142,8 @@ void mfc_thread::cpu_task() cmd.size = 0; no_updates = 0; + vm::reservation_acquire(cmd.eal, 128); + // Store unconditionally vm::writer_lock lock(0); data = to_write; diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index 8bfcfe38f1..b80517291e 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -586,6 +586,8 @@ void SPUThread::process_mfc_cmd() auto& data = vm::ps3::_ref(ch_mfc_cmd.eal); const auto to_write = _ref(ch_mfc_cmd.lsa & 0x3ffff); + vm::reservation_acquire(ch_mfc_cmd.eal, 128); + // Store unconditionally // TODO: vm::check_addr vm::writer_lock lock(0);