mirror of
https://github.com/torvalds/linux.git
synced 2024-12-25 12:21:37 +00:00
media: hantro: fix post-processing NULL pointer dereference
The RK3399 variant does not have postproc_regs declared,
this can cause a NULL pointer dereference trying to decode:
[ 89.331359] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[ 89.352804] Call trace:
[ 89.353191] hantro_postproc_disable+0x20/0xe8 [hantro_vpu]
[ 89.354056] hantro_start_prepare_run+0x58/0x68 [hantro_vpu]
[ 89.354923] hantro_h264_dec_prepare_run+0x30/0x6f0 [hantro_vpu]
[ 89.355846] rk3399_vpu_h264_dec_run+0x1c/0x14a8 [hantro_vpu]
[ 89.356748] device_run+0xa4/0xb8 [hantro_vpu]
Fix this by adding a NULL check in hantro_postproc_enable/disable.
Fixes: 8c2d66b036
("media: hantro: Support color conversion via post-processing")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
1fd4d9cb73
commit
d239aa00fe
@ -57,6 +57,9 @@ void hantro_postproc_enable(struct hantro_ctx *ctx)
|
||||
u32 src_pp_fmt, dst_pp_fmt;
|
||||
dma_addr_t dst_dma;
|
||||
|
||||
if (!vpu->variant->postproc_regs)
|
||||
return;
|
||||
|
||||
/* Turn on pipeline mode. Must be done first. */
|
||||
HANTRO_PP_REG_WRITE_S(vpu, pipeline_en, 0x1);
|
||||
|
||||
@ -138,5 +141,8 @@ void hantro_postproc_disable(struct hantro_ctx *ctx)
|
||||
{
|
||||
struct hantro_dev *vpu = ctx->dev;
|
||||
|
||||
if (!vpu->variant->postproc_regs)
|
||||
return;
|
||||
|
||||
HANTRO_PP_REG_WRITE_S(vpu, pipeline_en, 0x0);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user