diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0771-vc-sm-cma-Fix-compatibility-ioctl.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0771-vc-sm-cma-Fix-compatibility-ioctl.patch | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0771-vc-sm-cma-Fix-compatibility-ioctl.patch b/target/linux/brcm2708/patches-4.19/950-0771-vc-sm-cma-Fix-compatibility-ioctl.patch new file mode 100644 index 0000000000..39c09bb8ae --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0771-vc-sm-cma-Fix-compatibility-ioctl.patch @@ -0,0 +1,64 @@ +From 907be7d1c6c442cb20c0731026d119f9017dd375 Mon Sep 17 00:00:00 2001 +From: popcornmix <popcornmix@gmail.com> +Date: Mon, 19 Aug 2019 15:45:20 +0100 +Subject: [PATCH 771/773] vc-sm-cma: Fix compatibility ioctl + +This code path hasn't been used previously. +Fixed up after testing with kodi on 32-bit userland and 64-bit kernel + +Signed-off-by: popcornmix <popcornmix@gmail.com> +--- + drivers/staging/vc04_services/vc-sm-cma/vc_sm.c | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +--- a/drivers/staging/vc04_services/vc-sm-cma/vc_sm.c ++++ b/drivers/staging/vc04_services/vc-sm-cma/vc_sm.c +@@ -1501,11 +1501,10 @@ static long vc_sm_cma_ioctl(struct file + return ret; + } + +-#ifndef CONFIG_ARM64 + #ifdef CONFIG_COMPAT + struct vc_sm_cma_ioctl_clean_invalid2_32 { + u32 op_count; +- struct vc_sm_cma_ioctl_clean_invalid_block { ++ struct vc_sm_cma_ioctl_clean_invalid_block_32 { + u16 invalidate_mode; + u16 block_count; + compat_uptr_t start_address; +@@ -1516,7 +1515,7 @@ struct vc_sm_cma_ioctl_clean_invalid2_32 + + #define VC_SM_CMA_CMD_CLEAN_INVALID2_32\ + _IOR(VC_SM_CMA_MAGIC_TYPE, VC_SM_CMA_CMD_CLEAN_INVALID2,\ +- struct vc_sm_cma_ioctl_clean_invalid2) ++ struct vc_sm_cma_ioctl_clean_invalid2_32) + + static long vc_sm_cma_compat_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +@@ -1524,24 +1523,21 @@ static long vc_sm_cma_compat_ioctl(struc + switch (cmd) { + case VC_SM_CMA_CMD_CLEAN_INVALID2_32: + /* FIXME */ +- break; ++ return -EINVAL; + + default: +- return vc_sm_cma_compat_ioctl(file, cmd, arg); ++ return vc_sm_cma_ioctl(file, cmd, arg); + } + } + #endif +-#endif + + /* Device operations that we managed in this driver. */ + static const struct file_operations vc_sm_ops = { + .owner = THIS_MODULE, + .unlocked_ioctl = vc_sm_cma_ioctl, +-#ifndef CONFIG_ARM64 + #ifdef CONFIG_COMPAT + .compat_ioctl = vc_sm_cma_compat_ioctl, + #endif +-#endif + .open = vc_sm_cma_open, + .release = vc_sm_cma_release, + }; |