amdkfd: Set *buffer_ptr to NULL in case of error
authorOded Gabbay <oded.gabbay@amd.com>
Thu, 4 Dec 2014 12:09:02 +0000 (14:09 +0200)
committerOded Gabbay <oded.gabbay@amd.com>
Thu, 4 Dec 2014 12:09:02 +0000 (14:09 +0200)
In function acquire_packet_buffer() we may return -ENOMEM. In that case, we
should set the *buffer_ptr to NULL, so that calling functions which check the
*buffer_ptr value as a criteria for success, will know that
acquire_packet_buffer() failed.

Reviewed-by: Alexey Skidanov <alexey.skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c

index 9abac48..9350714 100644 (file)
@@ -221,8 +221,14 @@ static int acquire_packet_buffer(struct kernel_queue *kq,
                                                        queue_size_dwords;
 
        if (packet_size_in_dwords >= queue_size_dwords ||
-                       packet_size_in_dwords >= available_size)
+                       packet_size_in_dwords >= available_size) {
+               /*
+                * make sure calling functions know
+                * acquire_packet_buffer() failed
+                */
+               *buffer_ptr = NULL;
                return -ENOMEM;
+       }
 
        if (wptr + packet_size_in_dwords >= queue_size_dwords) {
                while (wptr > 0) {