From 7a7cb8c898ae231fd076d2b51bf307e68ef75594 Mon Sep 17 00:00:00 2001 From: Zhi Zhou Date: Fri, 21 Sep 2018 19:05:00 +0800 Subject: [PATCH] vmh264: fixed crash bug.when no virt addr. PD#172483: if reserved mem is not maped; must check the memory before used. Change-Id: Ie6955059c73858e071c6d3b13e0698d659e6891a Signed-off-by: Zhi Zhou --- .../frame_provider/decoder/h264_multi/vmh264.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/amlogic/media_modules/frame_provider/decoder/h264_multi/vmh264.c b/drivers/amlogic/media_modules/frame_provider/decoder/h264_multi/vmh264.c index 9b45387e9dee..bb9f3027942e 100644 --- a/drivers/amlogic/media_modules/frame_provider/decoder/h264_multi/vmh264.c +++ b/drivers/amlogic/media_modules/frame_provider/decoder/h264_multi/vmh264.c @@ -7318,10 +7318,12 @@ static int ammvdec_h264_probe(struct platform_device *pdev) #if 1 /*init internal buf*/ tmpbuf = (char *)codec_mm_phys_to_virt(hw->cma_alloc_addr); - memset(tmpbuf, 0, V_BUF_ADDR_OFFSET); - dma_sync_single_for_device(amports_get_dma_device(), - hw->cma_alloc_addr, - V_BUF_ADDR_OFFSET, DMA_TO_DEVICE); + if (tmpbuf) { + memset(tmpbuf, 0, V_BUF_ADDR_OFFSET); + dma_sync_single_for_device(amports_get_dma_device(), + hw->cma_alloc_addr, + V_BUF_ADDR_OFFSET, DMA_TO_DEVICE); + } #else /*init sps/pps internal buf 64k*/ tmpbuf = (char *)codec_mm_phys_to_virt(hw->cma_alloc_addr