|
@@ -79,37 +79,37 @@ static int qat_uclo_init_ae_data(struct icp_qat_uclo_objhandle *obj_handle,
|
|
} else {
|
|
} else {
|
|
ae_slice->ctx_mask_assigned = 0;
|
|
ae_slice->ctx_mask_assigned = 0;
|
|
}
|
|
}
|
|
- ae_slice->regions = kzalloc(sizeof(*ae_slice->regions), GFP_KERNEL);
|
|
|
|
- if (!ae_slice->regions)
|
|
|
|
|
|
+ ae_slice->region = kzalloc(sizeof(*ae_slice->region), GFP_KERNEL);
|
|
|
|
+ if (!ae_slice->region)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
ae_slice->page = kzalloc(sizeof(*ae_slice->page), GFP_KERNEL);
|
|
ae_slice->page = kzalloc(sizeof(*ae_slice->page), GFP_KERNEL);
|
|
if (!ae_slice->page)
|
|
if (!ae_slice->page)
|
|
goto out_err;
|
|
goto out_err;
|
|
page = ae_slice->page;
|
|
page = ae_slice->page;
|
|
page->encap_page = encap_image->page;
|
|
page->encap_page = encap_image->page;
|
|
- ae_slice->page->region = ae_slice->regions;
|
|
|
|
|
|
+ ae_slice->page->region = ae_slice->region;
|
|
ae_data->slice_num++;
|
|
ae_data->slice_num++;
|
|
return 0;
|
|
return 0;
|
|
out_err:
|
|
out_err:
|
|
- kfree(ae_slice->regions);
|
|
|
|
- ae_slice->regions = NULL;
|
|
|
|
|
|
+ kfree(ae_slice->region);
|
|
|
|
+ ae_slice->region = NULL;
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
}
|
|
}
|
|
|
|
|
|
static int qat_uclo_free_ae_data(struct icp_qat_uclo_aedata *ae_data)
|
|
static int qat_uclo_free_ae_data(struct icp_qat_uclo_aedata *ae_data)
|
|
{
|
|
{
|
|
- unsigned int ss = 0;
|
|
|
|
|
|
+ unsigned int i;
|
|
|
|
|
|
if (!ae_data) {
|
|
if (!ae_data) {
|
|
pr_err("QAT: bad argument, ae_data is NULL\n ");
|
|
pr_err("QAT: bad argument, ae_data is NULL\n ");
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
- for (ss = 0; ss < ae_data->slice_num; ss++) {
|
|
|
|
- kfree(ae_data->ae_slices[ss].regions);
|
|
|
|
- ae_data->ae_slices[ss].regions = NULL;
|
|
|
|
- kfree(ae_data->ae_slices[ss].page);
|
|
|
|
- ae_data->ae_slices[ss].page = NULL;
|
|
|
|
|
|
+ for (i = 0; i < ae_data->slice_num; i++) {
|
|
|
|
+ kfree(ae_data->ae_slices[i].region);
|
|
|
|
+ ae_data->ae_slices[i].region = NULL;
|
|
|
|
+ kfree(ae_data->ae_slices[i].page);
|
|
|
|
+ ae_data->ae_slices[i].page = NULL;
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|