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.

Signed-off-by: Oded Gabbay <oded.gabbay at amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
index 9abac48..9350714 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
@@ -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) {
-- 
1.9.1

Reply via email to