diff options
author | Alex Elder <elder@linaro.org> | 2021-03-15 16:51:50 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-03-15 20:41:58 -0700 |
commit | cc1b21ba6251c8dd8e4e86018c9fdba85df0d219 (patch) | |
tree | 7880ee96d37f0cbe6a0420c9c36c28e479003adf /include/linux/if_rmnet.h | |
parent | 16653c16d282e768763b2e8cc78f75df8fd53992 (diff) | |
download | lwn-cc1b21ba6251c8dd8e4e86018c9fdba85df0d219.tar.gz lwn-cc1b21ba6251c8dd8e4e86018c9fdba85df0d219.zip |
net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum trailer
Replace the use of C bit-fields in the rmnet_map_dl_csum_trailer
structure with a single one-byte field, using constant field masks
to encode or get at embedded values.
Signed-off-by: Alex Elder <elder@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/if_rmnet.h')
-rw-r--r-- | include/linux/if_rmnet.h | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/include/linux/if_rmnet.h b/include/linux/if_rmnet.h index a02f0a3df1d9..941997df9e08 100644 --- a/include/linux/if_rmnet.h +++ b/include/linux/if_rmnet.h @@ -19,21 +19,18 @@ struct rmnet_map_header { #define MAP_CMD_FLAG BIT(7) struct rmnet_map_dl_csum_trailer { - u8 reserved1; -#if defined(__LITTLE_ENDIAN_BITFIELD) - u8 valid:1; - u8 reserved2:7; -#elif defined (__BIG_ENDIAN_BITFIELD) - u8 reserved2:7; - u8 valid:1; -#else -#error "Please fix <asm/byteorder.h>" -#endif + u8 reserved1; + u8 flags; /* MAP_CSUM_DL_VALID_FLAG */ __be16 csum_start_offset; __be16 csum_length; __be16 csum_value; } __aligned(1); +/* rmnet_map_dl_csum_trailer flags field: + * VALID: 1 = checksum and length valid; 0 = ignore them + */ +#define MAP_CSUM_DL_VALID_FLAG BIT(0) + struct rmnet_map_ul_csum_header { __be16 csum_start_offset; #if defined(__LITTLE_ENDIAN_BITFIELD) |