mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
media: verisilicon: Simplify error handling in tile_buffer_reallocate()
Rework allocation errors cases handling to simply it by removing useless tests. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Reported-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
fdaca63186
commit
59cea5a3e5
@ -109,7 +109,7 @@ static int tile_buffer_reallocate(struct hantro_ctx *ctx)
|
||||
&hevc_dec->tile_filter.dma,
|
||||
GFP_KERNEL);
|
||||
if (!hevc_dec->tile_filter.cpu)
|
||||
goto err_free_tile_buffers;
|
||||
return -ENOMEM;
|
||||
hevc_dec->tile_filter.size = size;
|
||||
|
||||
size = (VERT_SAO_RAM_SIZE * height64 * (num_tile_cols - 1) * ctx->bit_depth) / 8;
|
||||
@ -125,13 +125,20 @@ static int tile_buffer_reallocate(struct hantro_ctx *ctx)
|
||||
&hevc_dec->tile_bsd.dma,
|
||||
GFP_KERNEL);
|
||||
if (!hevc_dec->tile_bsd.cpu)
|
||||
goto err_free_tile_buffers;
|
||||
goto err_free_sao_buffers;
|
||||
hevc_dec->tile_bsd.size = size;
|
||||
|
||||
hevc_dec->num_tile_cols_allocated = num_tile_cols;
|
||||
|
||||
return 0;
|
||||
|
||||
err_free_sao_buffers:
|
||||
if (hevc_dec->tile_sao.cpu)
|
||||
dma_free_coherent(vpu->dev, hevc_dec->tile_sao.size,
|
||||
hevc_dec->tile_sao.cpu,
|
||||
hevc_dec->tile_sao.dma);
|
||||
hevc_dec->tile_sao.cpu = NULL;
|
||||
|
||||
err_free_tile_buffers:
|
||||
if (hevc_dec->tile_filter.cpu)
|
||||
dma_free_coherent(vpu->dev, hevc_dec->tile_filter.size,
|
||||
@ -139,18 +146,6 @@ err_free_tile_buffers:
|
||||
hevc_dec->tile_filter.dma);
|
||||
hevc_dec->tile_filter.cpu = NULL;
|
||||
|
||||
if (hevc_dec->tile_sao.cpu)
|
||||
dma_free_coherent(vpu->dev, hevc_dec->tile_sao.size,
|
||||
hevc_dec->tile_sao.cpu,
|
||||
hevc_dec->tile_sao.dma);
|
||||
hevc_dec->tile_sao.cpu = NULL;
|
||||
|
||||
if (hevc_dec->tile_bsd.cpu)
|
||||
dma_free_coherent(vpu->dev, hevc_dec->tile_bsd.size,
|
||||
hevc_dec->tile_bsd.cpu,
|
||||
hevc_dec->tile_bsd.dma);
|
||||
hevc_dec->tile_bsd.cpu = NULL;
|
||||
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user