Loading drivers/platform/msm/ipa/ipa_v2/ipa.c +14 −0 Original line number Diff line number Diff line Loading @@ -1034,6 +1034,20 @@ static long ipa_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) } break; case IPA_IOC_GET_HW_VERSION: pyld_sz = sizeof(enum ipa_hw_type); param = kzalloc(pyld_sz, GFP_KERNEL); if (!param) { retval = -ENOMEM; break; } memcpy(param, &ipa_ctx->ipa_hw_type, pyld_sz); if (copy_to_user((u8 *)arg, param, pyld_sz)) { retval = -EFAULT; break; } break; default: /* redundant, as cmd was checked against MAXNR */ ipa_dec_client_disable_clks(); return -ENOTTY; Loading drivers/platform/msm/ipa/ipa_v3/ipa.c +14 −0 Original line number Diff line number Diff line Loading @@ -1085,6 +1085,20 @@ static long ipa3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) } break; case IPA_IOC_GET_HW_VERSION: pyld_sz = sizeof(enum ipa_hw_type); param = kzalloc(pyld_sz, GFP_KERNEL); if (!param) { retval = -ENOMEM; break; } memcpy(param, &ipa3_ctx->ipa_hw_type, pyld_sz); if (copy_to_user((u8 *)arg, param, pyld_sz)) { retval = -EFAULT; break; } break; default: /* redundant, as cmd was checked against MAXNR */ ipa3_dec_client_disable_clks(); return -ENOTTY; Loading include/uapi/linux/msm_ipa.h +6 −1 Original line number Diff line number Diff line Loading @@ -67,7 +67,8 @@ #define IPA_IOCTL_MDFY_RT_RULE 42 #define IPA_IOCTL_ADD_RT_RULE_AFTER 43 #define IPA_IOCTL_ADD_FLT_RULE_AFTER 44 #define IPA_IOCTL_MAX 45 #define IPA_IOCTL_GET_HW_VERSION 45 #define IPA_IOCTL_MAX 46 /** * max size of the header to be inserted Loading Loading @@ -1559,6 +1560,10 @@ enum ipacm_client_enum { IPA_IOCTL_DEL_HDR_PROC_CTX, \ struct ipa_ioc_del_hdr_proc_ctx *) #define IPA_IOC_GET_HW_VERSION _IOWR(IPA_IOC_MAGIC, \ IPA_IOCTL_GET_HW_VERSION, \ enum ipa_hw_type *) /* * unique magic number of the Tethering bridge ioctls */ Loading Loading
drivers/platform/msm/ipa/ipa_v2/ipa.c +14 −0 Original line number Diff line number Diff line Loading @@ -1034,6 +1034,20 @@ static long ipa_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) } break; case IPA_IOC_GET_HW_VERSION: pyld_sz = sizeof(enum ipa_hw_type); param = kzalloc(pyld_sz, GFP_KERNEL); if (!param) { retval = -ENOMEM; break; } memcpy(param, &ipa_ctx->ipa_hw_type, pyld_sz); if (copy_to_user((u8 *)arg, param, pyld_sz)) { retval = -EFAULT; break; } break; default: /* redundant, as cmd was checked against MAXNR */ ipa_dec_client_disable_clks(); return -ENOTTY; Loading
drivers/platform/msm/ipa/ipa_v3/ipa.c +14 −0 Original line number Diff line number Diff line Loading @@ -1085,6 +1085,20 @@ static long ipa3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) } break; case IPA_IOC_GET_HW_VERSION: pyld_sz = sizeof(enum ipa_hw_type); param = kzalloc(pyld_sz, GFP_KERNEL); if (!param) { retval = -ENOMEM; break; } memcpy(param, &ipa3_ctx->ipa_hw_type, pyld_sz); if (copy_to_user((u8 *)arg, param, pyld_sz)) { retval = -EFAULT; break; } break; default: /* redundant, as cmd was checked against MAXNR */ ipa3_dec_client_disable_clks(); return -ENOTTY; Loading
include/uapi/linux/msm_ipa.h +6 −1 Original line number Diff line number Diff line Loading @@ -67,7 +67,8 @@ #define IPA_IOCTL_MDFY_RT_RULE 42 #define IPA_IOCTL_ADD_RT_RULE_AFTER 43 #define IPA_IOCTL_ADD_FLT_RULE_AFTER 44 #define IPA_IOCTL_MAX 45 #define IPA_IOCTL_GET_HW_VERSION 45 #define IPA_IOCTL_MAX 46 /** * max size of the header to be inserted Loading Loading @@ -1559,6 +1560,10 @@ enum ipacm_client_enum { IPA_IOCTL_DEL_HDR_PROC_CTX, \ struct ipa_ioc_del_hdr_proc_ctx *) #define IPA_IOC_GET_HW_VERSION _IOWR(IPA_IOC_MAGIC, \ IPA_IOCTL_GET_HW_VERSION, \ enum ipa_hw_type *) /* * unique magic number of the Tethering bridge ioctls */ Loading