From: Ursula Braun
> Sent: 05 April 2017 09:40
> From: Hans Wippel <hwip...@linux.vnet.ibm.com>
> 
> Avoid endianness warnings reported by sparse by (1) using endianness
> conversions for assigning and using network packet fields, and (2)
> removing unnecessary endianness conversions from qeth_l3_rebuild_skb. No
> functional changes.
> 
> Signed-off-by: Hans Wippel <hwip...@linux.vnet.ibm.com>
> Signed-off-by: Ursula Braun <ubr...@linux.vnet.ibm.com>
> ---
>  drivers/s390/net/qeth_core.h      |  4 ++--
>  drivers/s390/net/qeth_core_main.c | 11 +++++-----
>  drivers/s390/net/qeth_l3_main.c   | 46 
> +++++++++++++++++++--------------------
>  drivers/s390/net/qeth_l3_sys.c    |  4 ++--
>  4 files changed, 33 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h
> index 22aa2cd..6764ab9 100644
> --- a/drivers/s390/net/qeth_core.h
> +++ b/drivers/s390/net/qeth_core.h
> @@ -844,9 +844,9 @@ static inline int qeth_get_ip_version(struct sk_buff *skb)
>  {
>       __be16 *p = &((struct ethhdr *)skb->data)->h_proto;
> 
> -     if (*p == ETH_P_8021Q)
> +     if (be16_to_cpu(*p) == ETH_P_8021Q)
>               p += 2;
> -     switch (*p) {
> +     switch (be16_to_cpu(*p)) {
>       case ETH_P_IPV6:

These are definitely 'functional changes' on LE systems.

Also it is generally better to byteswap the constants.

        David

Reply via email to