• F
    drm/amdkfd: Clean up kfd_wait_on_events · fdf0c833
    Felix Kuehling 提交于
    Cleaned up the code while resolving some potential bugs and
    inconsistencies in the process.
    
    Clean-ups:
    * Remove enum kfd_event_wait_result, which duplicates
      KFD_IOC_EVENT_RESULT definitions
    * alloc_event_waiters can be called without holding p->event_mutex
    * Return an error code from copy_signaled_event_data instead of bool
    * Clean up error handling code paths to minimize duplication in
      kfd_wait_on_events
    
    Fixes:
    * Consistently return an error code from kfd_wait_on_events and set
      wait_result to KFD_IOC_WAIT_RESULT_FAIL in all failure cases.
    * Always call free_waiters while holding p->event_mutex
    * copy_signaled_event_data might sleep. Don't call it while the task state
      is TASK_INTERRUPTIBLE.
    Signed-off-by: NFelix Kuehling <Felix.Kuehling@amd.com>
    Acked-by: NOded Gabbay <oded.gabbay@gmail.com>
    Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
    fdf0c833
kfd_priv.h 22.1 KB