dmaengine: dmatest: move size checks earlier in function
authorAlexandru Ardelean <alexandru.ardelean@analog.com>
Thu, 1 Nov 2018 16:07:16 +0000 (18:07 +0200)
committerVinod Koul <vkoul@kernel.org>
Sat, 24 Nov 2018 13:51:16 +0000 (19:21 +0530)
There's no need to allocate all that memory if these sizes are invalid
anyway.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dmatest.c

index 214391ba019a97085e31eb0384aa87b82b67d0e8..e71aa1e3451c6b8381d2f6b17aff13153b67becf 100644 (file)
@@ -507,6 +507,19 @@ static int dmatest_func(void *data)
        } else
                goto err_thread_type;
 
+       /* Check if buffer count fits into map count variable (u8) */
+       if ((src_cnt + dst_cnt) >= 255) {
+               pr_err("too many buffers (%d of 255 supported)\n",
+                      src_cnt + dst_cnt);
+               goto err_thread_type;
+       }
+
+       if (1 << align > params->buf_size) {
+               pr_err("%u-byte buffer too small for %d-byte alignment\n",
+                      params->buf_size, 1 << align);
+               goto err_thread_type;
+       }
+
        thread->srcs = kcalloc(src_cnt + 1, sizeof(u8 *), GFP_KERNEL);
        if (!thread->srcs)
                goto err_srcs;
@@ -576,19 +589,6 @@ static int dmatest_func(void *data)
 
                total_tests++;
 
-               /* Check if buffer count fits into map count variable (u8) */
-               if ((src_cnt + dst_cnt) >= 255) {
-                       pr_err("too many buffers (%d of 255 supported)\n",
-                              src_cnt + dst_cnt);
-                       break;
-               }
-
-               if (1 << align > params->buf_size) {
-                       pr_err("%u-byte buffer too small for %d-byte alignment\n",
-                              params->buf_size, 1 << align);
-                       break;
-               }
-
                if (params->norandom)
                        len = params->buf_size;
                else