summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/HW/SI/SI.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/Source/Core/Core/HW/SI/SI.cpp b/Source/Core/Core/HW/SI/SI.cpp
index 1f2e95f1ed..7b17a213c1 100644
--- a/Source/Core/Core/HW/SI/SI.cpp
+++ b/Source/Core/Core/HW/SI/SI.cpp
@@ -240,7 +240,6 @@ static void SetNoResponse(u32 channel)
s_status_reg.NOREP3 = 1;
break;
}
- s_com_csr.COMERR = 1;
}
static void ChangeDeviceCallback(u64 user_data, s64 cycles_late)
@@ -331,6 +330,7 @@ static void RunSIBuffer(u64 user_data, s64 cycles_late)
if (actual_response_length != 0)
{
s_com_csr.TSTART = 0;
+ s_com_csr.COMERR = actual_response_length < 0;
if (actual_response_length < 0)
SetNoResponse(s_com_csr.CHANNEL);
GenerateSIInterrupt(INT_TCINT);
@@ -503,8 +503,6 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
s_com_csr.RDSTINTMSK = tmp_com_csr.RDSTINTMSK;
s_com_csr.TCINTMSK = tmp_com_csr.TCINTMSK;
- s_com_csr.COMERR = 0;
-
if (tmp_com_csr.RDSTINT)
s_com_csr.RDSTINT = 0;
if (tmp_com_csr.TCINT)