Lines Matching refs:async_data

480 	struct mlx5vf_async_data *async_data = container_of(_work,
482 struct mlx5_vf_migration_file *migf = container_of(async_data,
483 struct mlx5_vf_migration_file, async_data);
486 if (async_data->status) {
487 mlx5vf_put_data_buffer(async_data->buf);
488 if (async_data->header_buf)
489 mlx5vf_put_data_buffer(async_data->header_buf);
490 if (async_data->status == MLX5_CMD_STAT_BAD_RES_STATE_ERR)
497 kvfree(async_data->out);
533 struct mlx5vf_async_data *async_data = container_of(context,
535 struct mlx5_vf_migration_file *migf = container_of(async_data,
536 struct mlx5_vf_migration_file, async_data);
542 !async_data->last_chunk;
544 image_size = MLX5_GET(save_vhca_state_out, async_data->out,
546 if (async_data->header_buf) {
547 status = add_buf_header(async_data->header_buf, image_size,
552 async_data->buf->length = image_size;
553 async_data->buf->start_pos = migf->max_pos;
554 migf->max_pos += async_data->buf->length;
556 list_add_tail(&async_data->buf->buf_elm, &migf->buf_list);
560 migf->state = async_data->last_chunk ?
571 status = MLX5_GET(save_vhca_state_out, async_data->out, status);
572 async_data->status = status;
573 queue_work(migf->mvdev->cb_wq, &async_data->work);
584 struct mlx5vf_async_data *async_data;
611 async_data = &migf->async_data;
612 async_data->buf = buf;
613 async_data->last_chunk = !track;
614 async_data->out = kvzalloc(out_size, GFP_KERNEL);
615 if (!async_data->out) {
621 if (async_data->last_chunk && migf->buf_header) {
634 if (async_data->last_chunk)
637 async_data->header_buf = header_buf;
640 async_data->out,
642 &async_data->cb_work);
653 kvfree(async_data->out);