readl(cr_space + offset);
 
                err = devlink_region_snapshot_create(crdump->region_crspace,
-                                                    cr_res_size, crspace_data,
-                                                    id, &kvfree);
+                                                    crspace_data, id, &kvfree);
                if (err) {
                        kvfree(crspace_data);
                        mlx4_warn(dev, "crdump: devlink create %s snapshot id %d err %d\n",
                                        readl(health_buf_start + offset);
 
                err = devlink_region_snapshot_create(crdump->region_fw_health,
-                                                    HEALTH_BUFFER_SIZE,
-                                                    health_data,
-                                                    id, &kvfree);
+                                                    health_data, id, &kvfree);
                if (err) {
                        kvfree(health_data);
                        mlx4_warn(dev, "crdump: devlink create %s snapshot id %d err %d\n",
 
                                             u64 region_size);
 void devlink_region_destroy(struct devlink_region *region);
 u32 devlink_region_shapshot_id_get(struct devlink *devlink);
-int devlink_region_snapshot_create(struct devlink_region *region, u64 data_len,
+int devlink_region_snapshot_create(struct devlink_region *region,
                                   u8 *data, u32 snapshot_id,
                                   devlink_snapshot_data_dest_t *data_destructor);
 int devlink_info_serial_number_put(struct devlink_info_req *req,
 
        struct list_head list;
        struct devlink_region *region;
        devlink_snapshot_data_dest_t *data_destructor;
-       u64 data_len;
        u8 *data;
        u32 id;
 };
        if (!snapshot)
                return -EINVAL;
 
-       if (end_offset > snapshot->data_len || dump)
-               end_offset = snapshot->data_len;
+       if (end_offset > region->size || dump)
+               end_offset = region->size;
 
        while (curr_offset < end_offset) {
                u32 data_size;
  *     The @snapshot_id should be obtained using the getter function.
  *
  *     @region: devlink region of the snapshot
- *     @data_len: size of snapshot data
  *     @data: snapshot data
  *     @snapshot_id: snapshot id to be created
  *     @data_destructor: pointer to destructor function to free data
  */
-int devlink_region_snapshot_create(struct devlink_region *region, u64 data_len,
+int devlink_region_snapshot_create(struct devlink_region *region,
                                   u8 *data, u32 snapshot_id,
                                   devlink_snapshot_data_dest_t *data_destructor)
 {
        snapshot->id = snapshot_id;
        snapshot->region = region;
        snapshot->data = data;
-       snapshot->data_len = data_len;
        snapshot->data_destructor = data_destructor;
 
        list_add_tail(&snapshot->list, ®ion->snapshot_list);