From ae3cadf03c6d67dc203caabe9e847b0d9954c3fd Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Sun, 4 Dec 2022 23:10:35 +0800 Subject: [PATCH] drivers/video: Skip all action if video_framebuff_realloc_container doesn't change the container size Signed-off-by: Xiang Xiao --- drivers/video/video_framebuff.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/drivers/video/video_framebuff.c b/drivers/video/video_framebuff.c index 08095216eb9..bcb33559e04 100644 --- a/drivers/video/video_framebuff.c +++ b/drivers/video/video_framebuff.c @@ -110,34 +110,31 @@ void video_framebuff_uninit(video_framebuff_t *fbuf) int video_framebuff_realloc_container(video_framebuff_t *fbuf, int sz) { - if (fbuf->vbuf_alloced == NULL || fbuf->container_size != sz) + if (fbuf->container_size == sz) { - if (fbuf->container_size != sz) - { - if (fbuf->vbuf_alloced != NULL) - { - kmm_free(fbuf->vbuf_alloced); - } + return OK; + } - fbuf->vbuf_alloced = NULL; - fbuf->container_size = 0; - } + if (fbuf->vbuf_alloced != NULL) + { + kmm_free(fbuf->vbuf_alloced); + fbuf->vbuf_alloced = NULL; + fbuf->container_size = 0; + } - if (sz > 0) + if (sz > 0) + { + fbuf->vbuf_alloced = + (vbuf_container_t *)kmm_malloc(sizeof(vbuf_container_t) * sz); + if (fbuf->vbuf_alloced == NULL) { - fbuf->vbuf_alloced - = (vbuf_container_t *)kmm_malloc(sizeof(vbuf_container_t)*sz); - if (fbuf->vbuf_alloced == NULL) - { - return -ENOMEM; - } + return -ENOMEM; } fbuf->container_size = sz; } cleanup_container(fbuf); - return OK; }