From 60fdc65b868f4ff2c45ae88493a6550d5b64e5a3 Mon Sep 17 00:00:00 2001 From: Agnimitra Sen Date: Fri, 29 Sep 2023 15:18:27 +0530 Subject: [PATCH] msm: vidc: modify allocation of hfi_cmd_sys_set_property_packet Allocating sufficient size for hfi_cmd_sys_set_property_packet. Change-Id: I8c0fe46a85dec537d856d0c2e6f92503246e4461 Signed-off-by: Agnimitra Sen --- drivers/media/platform/msm/vidc/venus_hfi.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/msm/vidc/venus_hfi.c b/drivers/media/platform/msm/vidc/venus_hfi.c index 66f7a66447b5..9ac4c063f0b7 100644 --- a/drivers/media/platform/msm/vidc/venus_hfi.c +++ b/drivers/media/platform/msm/vidc/venus_hfi.c @@ -2094,10 +2094,14 @@ static int venus_hfi_session_init(void *device, void *session_id, void **new_session) { struct hfi_cmd_sys_session_init_packet pkt; - struct hfi_cmd_sys_set_property_packet feature_pkt; struct venus_hfi_device *dev; struct hal_session *s; + // allocating minimum packet size for feature_pkt + u8 packet[VIDC_IFACEQ_VAR_SMALL_PKT_SIZE]; + struct hfi_cmd_sys_set_property_packet *feature_pkt = + (struct hfi_cmd_sys_set_property_packet *) &packet; + if (!device || !new_session) { dprintk(VIDC_ERR, "%s - invalid input\n", __func__); return -EINVAL; @@ -2128,14 +2132,14 @@ static int venus_hfi_session_init(void *device, void *session_id, if (dev->res->enable_feature_config) { dprintk(VIDC_DBG, "session init: sys_feature_config is enabled with value - %d\n", dev->res->enable_feature_config); if (call_hfi_pkt_op(dev, sys_feature_config, - &feature_pkt, + feature_pkt, dev->res->enable_feature_config)) { dprintk(VIDC_ERR, "Failed to create feature config pkt\n"); goto err_session_init_fail; } - if (__iface_cmdq_write(dev, &feature_pkt)) { + if (__iface_cmdq_write(dev, feature_pkt)) { dprintk(VIDC_WARN, "Failed to set max resolutionfeature in f/w\n"); goto err_session_init_fail;