Missed a spot in previous cleanup commit:
Remove gotos that do not feature any common cleanup, and use gotos
instead of repeating cleanup commands.

According to kernel.org: "The goto statement comes in handy when a
function exits from multiple locations and some common work such as
cleanup has to be done. If there is no cleanup needed then just return
directly."

Signed-off-by: Kent Russell <kent.russ...@amd.com>
Signed-off-by: Felix Kuehling <felix.kuehl...@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
index 69f4964..23e586b 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
@@ -232,18 +232,16 @@ static int acquire_packet_buffer(struct kernel_queue *kq,
                 * make sure calling functions know
                 * acquire_packet_buffer() failed
                 */
-               *buffer_ptr = NULL;
-               return -ENOMEM;
+               goto err_no_space;
        }
 
        if (wptr + packet_size_in_dwords >= queue_size_dwords) {
                /* make sure after rolling back to position 0, there is
                 * still enough space.
                 */
-               if (packet_size_in_dwords >= rptr) {
-                       *buffer_ptr = NULL;
-                       return -ENOMEM;
-               }
+               if (packet_size_in_dwords >= rptr)
+                       goto err_no_space;
+
                /* fill nops, roll back and start at position 0 */
                while (wptr > 0) {
                        queue_address[wptr] = kq->nop_packet;
@@ -255,6 +253,10 @@ static int acquire_packet_buffer(struct kernel_queue *kq,
        kq->pending_wptr = wptr + packet_size_in_dwords;
 
        return 0;
+
+err_no_space:
+       *buffer_ptr = NULL;
+       return -ENOMEM;
 }
 
 static void submit_packet(struct kernel_queue *kq)
-- 
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to