From dc5360e9eb87bc8d3d1d81355a527d26198cf15e Mon Sep 17 00:00:00 2001 From: George Shen Date: Thu, 9 Jul 2020 16:51:25 -0700 Subject: [PATCH] msm: cvp: Avoid NULL pointer dereference Do not send HFI queue to DSP if the queue is not allocated and initialized. It could happen after CVP and DSP SSR. Change-Id: Ia344b63a119ca80d8de9e38ed5ac2585e27c06b3 Signed-off-by: George Shen --- drivers/media/platform/msm/cvp/msm_cvp_dsp.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/media/platform/msm/cvp/msm_cvp_dsp.c b/drivers/media/platform/msm/cvp/msm_cvp_dsp.c index 2e08a23ab668..4530ae52423c 100644 --- a/drivers/media/platform/msm/cvp/msm_cvp_dsp.c +++ b/drivers/media/platform/msm/cvp/msm_cvp_dsp.c @@ -480,6 +480,13 @@ void cvp_dsp_send_hfi_queue(void) mutex_lock(&device->lock); mutex_lock(&me->lock); + if (!device->dsp_iface_q_table.align_virtual_addr) { + dprintk(CVP_ERR, "%s: DSP HFI queue released\n", __func__); + mutex_unlock(&me->lock); + mutex_unlock(&device->lock); + return; + } + addr = (uint64_t)device->dsp_iface_q_table.mem_data.dma_handle; size = device->dsp_iface_q_table.mem_data.size;