]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ice: make use of DEFINE_FLEX() in ice_ddp.c
authorPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Tue, 12 Sep 2023 11:59:34 +0000 (07:59 -0400)
committerJakub Kicinski <kuba@kernel.org>
Tue, 3 Oct 2023 19:17:11 +0000 (12:17 -0700)
Use DEFINE_FLEX() macro for constant-num-of-elems (4)
flex array members of ice_ddp.c

Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Link: https://lore.kernel.org/r/20230912115937.1645707-5-przemyslaw.kitszel@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/ice/ice_ddp.c

index b27ec93638b6b471df4be8d81158799da2ec8a27..78ed909745fefc9ec71d9e4eaf95ee003cbbba08 100644 (file)
@@ -1560,21 +1560,14 @@ static enum ice_ddp_state ice_init_pkg_info(struct ice_hw *hw,
  */
 static enum ice_ddp_state ice_get_pkg_info(struct ice_hw *hw)
 {
-       enum ice_ddp_state state = ICE_DDP_PKG_SUCCESS;
-       struct ice_aqc_get_pkg_info_resp *pkg_info;
-       u16 size;
+       DEFINE_FLEX(struct ice_aqc_get_pkg_info_resp, pkg_info, pkg_info,
+                   ICE_PKG_CNT);
+       u16 size = __struct_size(pkg_info);
        u32 i;
 
-       size = struct_size(pkg_info, pkg_info, ICE_PKG_CNT);
-       pkg_info = kzalloc(size, GFP_KERNEL);
-       if (!pkg_info)
+       if (ice_aq_get_pkg_info_list(hw, pkg_info, size, NULL))
                return ICE_DDP_PKG_ERR;
 
-       if (ice_aq_get_pkg_info_list(hw, pkg_info, size, NULL)) {
-               state = ICE_DDP_PKG_ERR;
-               goto init_pkg_free_alloc;
-       }
-
        for (i = 0; i < le32_to_cpu(pkg_info->count); i++) {
 #define ICE_PKG_FLAG_COUNT 4
                char flags[ICE_PKG_FLAG_COUNT + 1] = { 0 };
@@ -1604,10 +1597,7 @@ static enum ice_ddp_state ice_get_pkg_info(struct ice_hw *hw)
                          pkg_info->pkg_info[i].name, flags);
        }
 
-init_pkg_free_alloc:
-       kfree(pkg_info);
-
-       return state;
+       return ICE_DDP_PKG_SUCCESS;
 }
 
 /**
@@ -1622,9 +1612,10 @@ static enum ice_ddp_state ice_chk_pkg_compat(struct ice_hw *hw,
                                             struct ice_pkg_hdr *ospkg,
                                             struct ice_seg **seg)
 {
-       struct ice_aqc_get_pkg_info_resp *pkg;
+       DEFINE_FLEX(struct ice_aqc_get_pkg_info_resp, pkg, pkg_info,
+                   ICE_PKG_CNT);
+       u16 size = __struct_size(pkg);
        enum ice_ddp_state state;
-       u16 size;
        u32 i;
 
        /* Check package version compatibility */
@@ -1643,15 +1634,8 @@ static enum ice_ddp_state ice_chk_pkg_compat(struct ice_hw *hw,
        }
 
        /* Check if FW is compatible with the OS package */
-       size = struct_size(pkg, pkg_info, ICE_PKG_CNT);
-       pkg = kzalloc(size, GFP_KERNEL);
-       if (!pkg)
-               return ICE_DDP_PKG_ERR;
-
-       if (ice_aq_get_pkg_info_list(hw, pkg, size, NULL)) {
-               state = ICE_DDP_PKG_LOAD_ERROR;
-               goto fw_ddp_compat_free_alloc;
-       }
+       if (ice_aq_get_pkg_info_list(hw, pkg, size, NULL))
+               return ICE_DDP_PKG_LOAD_ERROR;
 
        for (i = 0; i < le32_to_cpu(pkg->count); i++) {
                /* loop till we find the NVM package */
@@ -1668,8 +1652,7 @@ static enum ice_ddp_state ice_chk_pkg_compat(struct ice_hw *hw,
                /* done processing NVM package so break */
                break;
        }
-fw_ddp_compat_free_alloc:
-       kfree(pkg);
+
        return state;
 }