From 34b909f76f7c38c02b145a661dfe2d25e0a53d98 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Tue, 16 Apr 2019 23:15:58 +0200 Subject: [PATCH] try to fix unmap error,automatically unmapped don't work ? Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/81168a1c6285780cf1cd5aee6f1ec4f8ace7ba8a Author: Jacek Jendrzej Date: 2019-04-16 (Tue, 16 Apr 2019) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/video.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libarmbox/video.cpp b/libarmbox/video.cpp index 068ac81..fecec73 100644 --- a/libarmbox/video.cpp +++ b/libarmbox/video.cpp @@ -1069,7 +1069,7 @@ void get_osd_buf(unsigned char *osd_data) struct fb_fix_screeninfo fix_screeninfo; struct fb_var_screeninfo var_screeninfo; - int fb=open("/dev/fb/0", O_RDWR); + int fb=open("/dev/fb/0", O_RDONLY); if (fb == -1) { fprintf(stderr, "Framebuffer failed\n"); @@ -1090,7 +1090,7 @@ void get_osd_buf(unsigned char *osd_data) return; } - void *lfb = (unsigned char*)mmap(0, fix_screeninfo.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fb, 0); + void *lfb = (unsigned char*)mmap(0, fix_screeninfo.smem_len, PROT_READ , MAP_SHARED, fb, 0); if(lfb == MAP_FAILED) { fprintf(stderr, "Framebuffer: \n"); @@ -1104,6 +1104,12 @@ void get_osd_buf(unsigned char *osd_data) // get 32bit framebuffer memcpy(osd_data,lfb,fix_screeninfo.line_length*var_screeninfo.yres); } + + if (munmap(lfb, fix_screeninfo.smem_len) == -1) + { + perror("Error un-mmapping"); + } + close(fb); }