[hip] Try again to fix the semaphore busy loop. (#19712)

Signed-off-by: Andrew Woloszyn <andrew.woloszyn@gmail.com>
diff --git a/runtime/src/iree/hal/drivers/hip/event_semaphore.c b/runtime/src/iree/hal/drivers/hip/event_semaphore.c
index 276290c..b08c425 100644
--- a/runtime/src/iree/hal/drivers/hip/event_semaphore.c
+++ b/runtime/src/iree/hal/drivers/hip/event_semaphore.c
@@ -295,6 +295,10 @@
       // it is because the event has already been signaled to that value.
       if (!cpu_events[i]) {
         semaphore_hit = true;
+        if (iree_hal_hip_semaphore_is_aborted(semaphore_list.semaphores[i])) {
+          status = iree_make_status(IREE_STATUS_ABORTED,
+                                    "the semaphore was aborted");
+        }
         break;
       }
     }
@@ -842,10 +846,6 @@
           iree_notification_prepare_wait(&semaphore->state_notification);
       iree_slim_mutex_unlock(&semaphore->mutex);
 
-      // We are going to pick up the correct status from query_locked below.
-      iree_status_ignore(
-          iree_hal_hip_event_semaphore_run_scheduled_callbacks(base_semaphore));
-
       // We have to wait for the semaphore to catch up.
       bool committed =
           iree_notification_commit_wait(&semaphore->state_notification, wait,