diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index dc7eac55e9..8f7ae77c73 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -1212,7 +1212,12 @@ bool SPUThread::set_ch_value(u32 ch, u32 value) ch_tag_stat.set_value(0, false); ch_tag_upd = value; - if (mfc_queue.size() == 0 && (!value || ch_tag_upd.exchange(0))) + if (ch_tag_mask == 0) + { + // TODO + ch_tag_stat.set_value(0); + } + else if (mfc_queue.size() == 0 && (!value || ch_tag_upd.exchange(0))) { ch_tag_stat.set_value(ch_tag_mask); }