diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index cdfea66285..e1da9a04ae 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -2821,8 +2821,13 @@ bool spu_thread::do_putllc(const spu_mfc_cmd& args) if (cmp_rdata(to_write, rdata)) { // Writeback of unchanged data. Only check memory change - raddr = 0; // Disable notification - return cmp_rdata(rdata, vm::_ref(addr)) && res.compare_and_swap_test(rtime, rtime + 128); + if (cmp_rdata(rdata, vm::_ref(addr)) && res.compare_and_swap_test(rtime, rtime + 128)) + { + raddr = 0; // Disable notification + return true; + } + + return false; } auto [_oldd, _ok] = res.fetch_op([&](u64& r)