diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/fman/src')
3 files changed, 16 insertions, 7 deletions
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c index b25ff3d..fcc0198 100644 --- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c +++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c @@ -126,10 +126,6 @@ #error Error: please synchronize IOC_ defines! #endif -#if CMP_IOC_DEFINE(FM_PCD_PRS_SW_OFFSET) -#error Error: please synchronize IOC_ defines! -#endif - #if CMP_IOC_DEFINE(FM_PCD_MAX_MANIP_INSRT_TEMPLATE_SIZE) #error Error: please synchronize IOC_ defines! #endif diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c index 5d2d306..ee98d88 100644 --- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c +++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c @@ -1076,8 +1076,10 @@ void compat_fm_pcd_manip_set_node( memcpy(¶m->u.frag, &compat_param->u.frag, sizeof(param->u.frag)); break; case e_IOC_FM_PCD_MANIP_SPECIAL_OFFLOAD: - param->u.special_offload = compat_param->u.special_offload; - break; + memcpy(¶m->u.special_offload, + &compat_param->u.special_offload, + sizeof(param->u.special_offload)); + break; } param->p_next_manip = compat_pcd_id2ptr(compat_param->p_next_manip); diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.h b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.h index af158e9..2f0fdd4 100644 --- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.h +++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.h @@ -475,13 +475,24 @@ typedef struct ioc_compat_fm_pcd_manip_hdr_params_t { bool dont_parse_after_manip; } ioc_compat_fm_pcd_manip_hdr_params_t; +typedef struct ioc_compat_fm_pcd_manip_special_offload_params_t { + bool decryption; + bool ecn_copy; + bool dscp_copy; + bool variable_ip_hdr_len; + bool variable_ip_version; + uint8_t outer_ip_hdr_len; + uint16_t arw_size; + compat_uptr_t arw_addr; +} ioc_compat_fm_pcd_manip_special_offload_params_t; + typedef struct ioc_compat_fm_pcd_manip_params_t { ioc_fm_pcd_manip_type type; union { ioc_compat_fm_pcd_manip_hdr_params_t hdr; ioc_fm_pcd_manip_reassem_params_t reassem; ioc_fm_pcd_manip_frag_params_t frag; - ioc_fm_pcd_manip_special_offload_params_t special_offload; + ioc_compat_fm_pcd_manip_special_offload_params_t special_offload; } u; compat_uptr_t p_next_manip; #if (defined(FM_CAPWAP_SUPPORT) && (DPAA_VERSION == 10)) |