diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/hle/service/nvdrv/devices/nvhost_gpu.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_gpu.cpp index 88d6c771c..d9458ab2f 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_gpu.cpp @@ -159,17 +159,11 @@ NvResult nvhost_gpu::SetErrorNotifier(IoctlSetErrorNotifier& params) { LOG_DEBUG(Service_NVDRV, "called, offset={:X}, size={:X}, mem={:X}", params.offset, params.size, params.mem); - // Validate parameters - if (params.size == 0) { - return NvResult::BadParameter; - } - - // Store error notifier configuration error_notifier_offset = params.offset; error_notifier_size = params.size; - error_notifier_memory = static_cast<u32_le>(params.mem); // Explicit conversion + error_notifier_memory = static_cast<u32_le>(params.mem); - // Enable error notifications in the GPU + // Always enable error notifier in GPU system.GPU().EnableErrorNotifier(static_cast<u32>(error_notifier_memory), static_cast<u32>(error_notifier_offset), static_cast<u32>(error_notifier_size)); @@ -193,9 +187,9 @@ NvResult nvhost_gpu::AllocGPFIFOEx2(IoctlAllocGpfifoEx2& params, DeviceFD fd) { return NvResult::AlreadyAllocated; } - // Validate parameters - if (params.num_entries == 0 || params.num_entries > 0x10000) { - LOG_ERROR(Service_NVDRV, "Invalid GPFIFO entry count!"); + // Relax validation to allow any non-zero value + if (params.num_entries == 0) { + LOG_WARNING(Service_NVDRV, "Zero GPFIFO entries requested"); return NvResult::BadParameter; } |