Browse Source

hle_ipc: Do not ensure write buffer size.

bunnei 8 years ago
parent
commit
eef097bdc7
1 changed files with 5 additions and 2 deletions
  1. 5 2
      src/core/hle/kernel/hle_ipc.cpp

+ 5 - 2
src/core/hle/kernel/hle_ipc.cpp

@@ -268,8 +268,11 @@ std::vector<u8> HLERequestContext::ReadBuffer() const {
 
 size_t HLERequestContext::WriteBuffer(const void* buffer, size_t size) const {
     const bool is_buffer_b{BufferDescriptorB().size() && BufferDescriptorB()[0].Size()};
-
-    ASSERT_MSG(size <= GetWriteBufferSize(), "Size %lx is too big", size);
+    const size_t buffer_size{GetWriteBufferSize()};
+    if (size > buffer_size) {
+        LOG_CRITICAL(Core, "size=%08x is greater than buffer_size=%08x", size, buffer_size);
+        size = buffer_size; // TODO(bunnei): This needs to be HW tested
+    }
 
     if (is_buffer_b) {
         Memory::WriteBlock(BufferDescriptorB()[0].Address(), buffer, size);