From 24fea0963459de13318a0459e7554ecef78a3931 Mon Sep 17 00:00:00 2001 From: Yandong Lin Date: Tue, 6 Sep 2022 17:31:02 +0800 Subject: [PATCH] [mpp_platform]: fix get_kernel_version failed on 5.10 Signed-off-by: Yandong Lin Change-Id: I51fe2311641b4a7a64595e8fc8b4813c6a962303 --- osal/inc/mpp_platform.h | 1 + osal/mpp_platform.cpp | 11 +++++++++-- osal/test/mpp_platform_test.c | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/osal/inc/mpp_platform.h b/osal/inc/mpp_platform.h index 65c65ec2..f0c74c52 100644 --- a/osal/inc/mpp_platform.h +++ b/osal/inc/mpp_platform.h @@ -34,6 +34,7 @@ typedef enum MppKernelVersion_e { KERNEL_3_10, KERNEL_4_4, KERNEL_4_19, + KERNEL_5_10, KERNEL_VERSION_BUTT, } MppKernelVersion; diff --git a/osal/mpp_platform.cpp b/osal/mpp_platform.cpp index b15b338b..d10af369 100644 --- a/osal/mpp_platform.cpp +++ b/osal/mpp_platform.cpp @@ -50,12 +50,19 @@ static MppKernelVersion check_kernel_version(void) pos += 14; count = sscanf(pos, "%d.%d.%d ", &major, &minor, &last); if (count >= 2 && major > 0 && minor > 0) { - if (major == 3) + switch (major) { + case 3: { version = KERNEL_3_10; - else if (major == 4) { + } break; + case 4: { version = KERNEL_4_4; if (minor >= 19) version = KERNEL_4_19; + } break; + case 5: { + version = KERNEL_5_10; + } break; + default: break; } } } diff --git a/osal/test/mpp_platform_test.c b/osal/test/mpp_platform_test.c index b84bb9a7..2196a1db 100644 --- a/osal/test/mpp_platform_test.c +++ b/osal/test/mpp_platform_test.c @@ -32,6 +32,7 @@ int main() kernel_version == KERNEL_3_10 ? "3.10" : kernel_version == KERNEL_4_4 ? "4.4" : kernel_version == KERNEL_4_19 ? "4.19" : + kernel_version == KERNEL_5_10 ? "5.10" : NULL); mpp_log("ioctl version: %s\n", ioctl_version == IOCTL_VCODEC_SERVICE ? "vcodec_service" :