On 04/07/2017 01:25 PM, David Laight wrote:
> 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.
s390 is Big Endian; thus the change is basicly a NOP. 
The only purpose of this kind of patches is getting rid
of sparse warnings with our code.
> 
> Also it is generally better to byteswap the constants.
> 
>       David
> 

Reply via email to