Skip to content

Commit 8ced24f

Browse files
authored
[UR][L0] Fix logic check in error checking (#17911)
- Fix logic check during error handling after destroy calls. Signed-off-by: Neil R. Spruit <[email protected]>
1 parent 464eb93 commit 8ced24f

File tree

7 files changed

+13
-13
lines changed

7 files changed

+13
-13
lines changed

unified-runtime/source/adapters/level_zero/context.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ ur_result_t ContextReleaseHelper(ur_context_handle_t Context) {
282282
if (DestroyZeContext) {
283283
auto ZeResult = ZE_CALL_NOCHECK(zeContextDestroy, (DestroyZeContext));
284284
// Gracefully handle the case that L0 was already unloaded.
285-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
285+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
286286
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
287287
return ze2urResult(ZeResult);
288288
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {
@@ -311,7 +311,7 @@ ur_result_t ur_context_handle_t_::finalize() {
311311
if (checkL0LoaderTeardown()) {
312312
auto ZeResult = ZE_CALL_NOCHECK(zeEventDestroy, (Event->ZeEvent));
313313
// Gracefully handle the case that L0 was already unloaded.
314-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
314+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
315315
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
316316
return ze2urResult(ZeResult);
317317
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {
@@ -331,7 +331,7 @@ ur_result_t ur_context_handle_t_::finalize() {
331331
if (checkL0LoaderTeardown()) {
332332
auto ZeResult = ZE_CALL_NOCHECK(zeEventPoolDestroy, (ZePool));
333333
// Gracefully handle the case that L0 was already unloaded.
334-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
334+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
335335
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
336336
return ze2urResult(ZeResult);
337337
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {
@@ -347,7 +347,7 @@ ur_result_t ur_context_handle_t_::finalize() {
347347
// Destroy the command list used for initializations
348348
auto ZeResult = ZE_CALL_NOCHECK(zeCommandListDestroy, (ZeCommandListInit));
349349
// Gracefully handle the case that L0 was already unloaded.
350-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
350+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
351351
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
352352
return ze2urResult(ZeResult);
353353
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {
@@ -362,7 +362,7 @@ ur_result_t ur_context_handle_t_::finalize() {
362362
if (ZeCommandList && checkL0LoaderTeardown()) {
363363
auto ZeResult = ZE_CALL_NOCHECK(zeCommandListDestroy, (ZeCommandList));
364364
// Gracefully handle the case that L0 was already unloaded.
365-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
365+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
366366
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
367367
return ze2urResult(ZeResult);
368368
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {
@@ -377,7 +377,7 @@ ur_result_t ur_context_handle_t_::finalize() {
377377
if (ZeCommandList && checkL0LoaderTeardown()) {
378378
auto ZeResult = ZE_CALL_NOCHECK(zeCommandListDestroy, (ZeCommandList));
379379
// Gracefully handle the case that L0 was already unloaded.
380-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
380+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
381381
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
382382
return ze2urResult(ZeResult);
383383
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {

unified-runtime/source/adapters/level_zero/event.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1107,7 +1107,7 @@ ur_result_t urEventReleaseInternal(ur_event_handle_t Event) {
11071107
if (checkL0LoaderTeardown()) {
11081108
auto ZeResult = ZE_CALL_NOCHECK(zeEventDestroy, (Event->ZeEvent));
11091109
// Gracefully handle the case that L0 was already unloaded.
1110-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
1110+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
11111111
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
11121112
return ze2urResult(ZeResult);
11131113
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {

unified-runtime/source/adapters/level_zero/kernel.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -943,7 +943,7 @@ ur_result_t urKernelRelease(
943943
if (checkL0LoaderTeardown()) {
944944
auto ZeResult = ZE_CALL_NOCHECK(zeKernelDestroy, (ZeKernel));
945945
// Gracefully handle the case that L0 was already unloaded.
946-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
946+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
947947
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
948948
return ze2urResult(ZeResult);
949949
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {

unified-runtime/source/adapters/level_zero/memory.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1666,7 +1666,7 @@ ur_result_t urMemRelease(
16661666
auto ZeResult = ZE_CALL_NOCHECK(
16671667
zeImageDestroy, (ur_cast<ze_image_handle_t>(ZeHandleImage)));
16681668
// Gracefully handle the case that L0 was already unloaded.
1669-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
1669+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
16701670
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
16711671
return ze2urResult(ZeResult);
16721672
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {

unified-runtime/source/adapters/level_zero/queue.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ ur_result_t urQueueRelease(
652652
checkL0LoaderTeardown()) {
653653
auto ZeResult = ZE_CALL_NOCHECK(zeFenceDestroy, (it->second.ZeFence));
654654
// Gracefully handle the case that L0 was already unloaded.
655-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
655+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
656656
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
657657
return ze2urResult(ZeResult);
658658
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {
@@ -1616,7 +1616,7 @@ ur_result_t urQueueReleaseInternal(ur_queue_handle_t Queue) {
16161616
if (checkL0LoaderTeardown()) {
16171617
auto ZeResult = ZE_CALL_NOCHECK(zeCommandQueueDestroy, (ZeQueue));
16181618
// Gracefully handle the case that L0 was already unloaded.
1619-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
1619+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
16201620
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
16211621
return ze2urResult(ZeResult);
16221622
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {

unified-runtime/source/adapters/level_zero/sampler.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ ur_result_t urSamplerRelease(
132132
if (checkL0LoaderTeardown()) {
133133
auto ZeResult = ZE_CALL_NOCHECK(zeSamplerDestroy, (Sampler->ZeSampler));
134134
// Gracefully handle the case that L0 was already unloaded.
135-
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
135+
if (ZeResult && (ZeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
136136
ZeResult != ZE_RESULT_ERROR_UNKNOWN))
137137
return ze2urResult(ZeResult);
138138
if (ZeResult == ZE_RESULT_ERROR_UNKNOWN) {

unified-runtime/source/adapters/level_zero/v2/common.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ struct ze_handle_wrapper {
8282
if (ownZeHandle && checkL0LoaderTeardown()) {
8383
auto zeResult = destroy(handle);
8484
// Gracefully handle the case that L0 was already unloaded.
85-
if (zeResult && (zeResult != ZE_RESULT_ERROR_UNINITIALIZED ||
85+
if (zeResult && (zeResult != ZE_RESULT_ERROR_UNINITIALIZED &&
8686
zeResult != ZE_RESULT_ERROR_UNKNOWN))
8787
throw ze2urResult(zeResult);
8888
if (zeResult == ZE_RESULT_ERROR_UNKNOWN) {

0 commit comments

Comments
 (0)