mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-12 09:30:36 +08:00
fix: Add missing check to DebugSessionImp::readFifo function
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
9871a809ea
commit
f87673e761
@@ -1688,7 +1688,11 @@ ze_result_t DebugSessionImp::readFifo(uint64_t vmHandle, std::vector<EuThread::T
|
||||
std::vector<uint32_t> fifoIndices(2);
|
||||
uint32_t fifoHeadIndex = 0, fifoTailIndex = 0;
|
||||
|
||||
readGpuMemory(vmHandle, reinterpret_cast<char *>(fifoIndices.data()), fifoIndices.size() * sizeof(uint32_t), gpuVa + offsetHead);
|
||||
auto retVal = readGpuMemory(vmHandle, reinterpret_cast<char *>(fifoIndices.data()), fifoIndices.size() * sizeof(uint32_t), gpuVa + offsetHead);
|
||||
if (retVal != ZE_RESULT_SUCCESS) {
|
||||
PRINT_DEBUGGER_ERROR_LOG("Reading FIFO indices failed, error = %d\n", retVal);
|
||||
return retVal;
|
||||
}
|
||||
fifoHeadIndex = fifoIndices[0];
|
||||
fifoTailIndex = fifoIndices[1];
|
||||
|
||||
@@ -1701,7 +1705,7 @@ ze_result_t DebugSessionImp::readFifo(uint64_t vmHandle, std::vector<EuThread::T
|
||||
std::vector<SIP::fifo_node> nodes(readSize);
|
||||
uint64_t currentFifoOffset = offsetFifo + (sizeof(SIP::fifo_node) * fifoTailIndex);
|
||||
|
||||
auto retVal = readGpuMemory(vmHandle, reinterpret_cast<char *>(nodes.data()), readSize * sizeof(SIP::fifo_node), currentFifoOffset);
|
||||
retVal = readGpuMemory(vmHandle, reinterpret_cast<char *>(nodes.data()), readSize * sizeof(SIP::fifo_node), currentFifoOffset);
|
||||
if (retVal != ZE_RESULT_SUCCESS) {
|
||||
PRINT_DEBUGGER_ERROR_LOG("Reading FIFO failed, error = %d\n", retVal);
|
||||
return retVal;
|
||||
|
||||
@@ -1926,6 +1926,14 @@ TEST_F(DebugSessionTestSwFifoFixture, GivenSwFifoWhenWriteGpuMemoryFailsWhileUpd
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_UNKNOWN, session->readFifo(0, threadsWithAttention));
|
||||
}
|
||||
|
||||
TEST_F(DebugSessionTestSwFifoFixture, GivenSwFifoWhenReadGpuMemoryFailsDuringFifoIndicesReadingThenErrorReturned) {
|
||||
|
||||
EXPECT_FALSE(session->stateSaveAreaHeader.empty());
|
||||
session->forcereadGpuMemoryFailOnCount = 1;
|
||||
std::vector<EuThread::ThreadId> threadsWithAttention;
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_UNKNOWN, session->readFifo(0, threadsWithAttention));
|
||||
}
|
||||
|
||||
TEST_F(DebugSessionTestSwFifoFixture, GivenSwFifoWhenReadGpuMemoryFailsDuringFifoReadingThenErrorReturned) {
|
||||
|
||||
EXPECT_FALSE(session->stateSaveAreaHeader.empty());
|
||||
|
||||
Reference in New Issue
Block a user