From add62a6ba80ef3002872052ace7a03d8edabd7a0 Mon Sep 17 00:00:00 2001 From: Bryant Ly Date: Wed, 9 Sep 2026 12:48:47 -0700 Subject: [PATCH] fix: correct conditional rwlock acquisition results down_read_trylock() and down_write_trylock() return nonzero on successful acquisition and zero on failure. Negate both checks so the conditional rwlock wrappers return NV_ERR_TIMEOUT_RETRY only when acquisition fails, and NV_OK when it succeeds. Signed-off-by: Bryant Ly --- kernel-open/nvidia/os-interface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel-open/nvidia/os-interface.c b/kernel-open/nvidia/os-interface.c index f4f92f6e7..95467f893 100644 --- a/kernel-open/nvidia/os-interface.c +++ b/kernel-open/nvidia/os-interface.c @@ -345,7 +345,7 @@ NV_STATUS NV_API_CALL os_cond_acquire_rwlock_read(void *pRwLock) { os_rwlock_t *os_rwlock = (os_rwlock_t *)pRwLock; - if (down_read_trylock(&os_rwlock->sem)) + if (!down_read_trylock(&os_rwlock->sem)) { return NV_ERR_TIMEOUT_RETRY; } @@ -357,7 +357,7 @@ NV_STATUS NV_API_CALL os_cond_acquire_rwlock_write(void *pRwLock) { os_rwlock_t *os_rwlock = (os_rwlock_t *)pRwLock; - if (down_write_trylock(&os_rwlock->sem)) + if (!down_write_trylock(&os_rwlock->sem)) { return NV_ERR_TIMEOUT_RETRY; }