kernel: delete Linux 5.4 config and patches
[openwrt/staging/chunkeey.git] / target / linux / layerscape / patches-5.4 / 701-net-0111-sdk_qbman-Avoid-variable-length-array-in-USDPAA.patch
diff --git a/target/linux/layerscape/patches-5.4/701-net-0111-sdk_qbman-Avoid-variable-length-array-in-USDPAA.patch b/target/linux/layerscape/patches-5.4/701-net-0111-sdk_qbman-Avoid-variable-length-array-in-USDPAA.patch
deleted file mode 100644 (file)
index 39cfc2d..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-From 0ad840e46732e95df274a84b042dcb210be9f946 Mon Sep 17 00:00:00 2001
-From: Roy Pledge <roy.pledge@nxp.com>
-Date: Thu, 28 Mar 2019 09:56:35 -0400
-Subject: [PATCH] sdk_qbman: Avoid variable length array in USDPAA
-
-As of Linux 5.0 variable length arrays on the stack are no
-longer allowed. Change to a dynamic array and create a common
-exit point in the function for cleanup.
-
-Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
----
- drivers/staging/fsl_qbman/fsl_usdpaa.c | 36 +++++++++++++++++-----------------
- 1 file changed, 18 insertions(+), 18 deletions(-)
-
---- a/drivers/staging/fsl_qbman/fsl_usdpaa.c
-+++ b/drivers/staging/fsl_qbman/fsl_usdpaa.c
-@@ -559,6 +559,7 @@ static bool check_portal_channel(void *c
- static int usdpaa_release(struct inode *inode, struct file *filp)
- {
-+      int err = 0;
-       struct ctx *ctx = filp->private_data;
-       struct mem_mapping *map, *tmpmap;
-       struct portal_mapping *portal, *tmpportal;
-@@ -569,9 +570,14 @@ static int usdpaa_release(struct inode *
-       struct qm_portal_config *qm_alloced_portal = NULL;
-       struct bm_portal_config *bm_alloced_portal = NULL;
--      struct qm_portal *portal_array[qman_portal_max];
-+      struct qm_portal **portal_array;
-       int portal_count = 0;
-+      portal_array = kmalloc_array(qman_portal_max,
-+                                   sizeof(struct qm_portal *), GFP_KERNEL);
-+      if (!portal_array)
-+              return -ENOMEM;
-+
-       /* Ensure the release operation cannot be migrated to another
-          CPU as CPU specific variables may be needed during cleanup */
- #ifdef CONFIG_PREEMPT_RT_FULL
-@@ -612,18 +618,14 @@ static int usdpaa_release(struct inode *
-               qm_alloced_portal = qm_get_unused_portal();
-               if (!qm_alloced_portal) {
-                       pr_crit("No QMan portal avalaible for cleanup\n");
--#ifdef CONFIG_PREEMPT_RT_FULL
--                      migrate_enable();
--#endif
--                      return -1;
-+                      err = -1;
-+                      goto done;
-               }
-               qm_cleanup_portal = kmalloc(sizeof(struct qm_portal),
-                                           GFP_KERNEL);
-               if (!qm_cleanup_portal) {
--#ifdef CONFIG_PREEMPT_RT_FULL
--                      migrate_enable();
--#endif
--                      return -ENOMEM;
-+                      err = -ENOMEM;
-+                      goto done;
-               }
-               init_qm_portal(qm_alloced_portal, qm_cleanup_portal);
-               portal_array[portal_count] = qm_cleanup_portal;
-@@ -633,18 +635,14 @@ static int usdpaa_release(struct inode *
-               bm_alloced_portal = bm_get_unused_portal();
-               if (!bm_alloced_portal) {
-                       pr_crit("No BMan portal avalaible for cleanup\n");
--#ifdef CONFIG_PREEMPT_RT_FULL
--                      migrate_enable();
--#endif
--                      return -1;
-+                      err = -1;
-+                      goto done;
-               }
-               bm_cleanup_portal = kmalloc(sizeof(struct bm_portal),
-                                           GFP_KERNEL);
-               if (!bm_cleanup_portal) {
--#ifdef CONFIG_PREEMPT_RT_FULL
--                      migrate_enable();
--#endif
--                      return -ENOMEM;
-+                      err = -ENOMEM;
-+                      goto done;
-               }
-               init_bm_portal(bm_alloced_portal, bm_cleanup_portal);
-       }
-@@ -721,10 +719,12 @@ static int usdpaa_release(struct inode *
-       }
-       kfree(ctx);
-+done:
- #ifdef CONFIG_PREEMPT_RT_FULL
-       migrate_enable();
- #endif
--      return 0;
-+      kfree(portal_array);
-+      return err;
- }
- static int check_mmap_dma(struct ctx *ctx, struct vm_area_struct *vma,