mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
i40e: mark the value passed to csum_replace_by_diff as __wsum
Fix, or rather, avoid a sparse warning caused by the fact that csum_replace_by_diff expects to receive a __wsum value. Since the calculation appears to work, simply typecast the passed paylen value to __wsum to avoid the warning. This seems pretty fishy since __wsum was obviously annotated as a separate type on purpose, so this throws the entire calculation into question. Since it currently appears to behave as expected, the typecast is probably safe. Change-ID: I4fdc5cddd589abc16098176e8a61127e761488f4 Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
ae13670824
commit
b9c015d421
@ -2335,7 +2335,8 @@ static int i40e_tso(struct i40e_tx_buffer *first, u8 *hdr_len,
|
||||
|
||||
/* remove payload length from outer checksum */
|
||||
paylen = skb->len - l4_offset;
|
||||
csum_replace_by_diff(&l4.udp->check, htonl(paylen));
|
||||
csum_replace_by_diff(&l4.udp->check,
|
||||
(__force __wsum)htonl(paylen));
|
||||
}
|
||||
|
||||
/* reset pointers to inner headers */
|
||||
@ -2356,7 +2357,7 @@ static int i40e_tso(struct i40e_tx_buffer *first, u8 *hdr_len,
|
||||
|
||||
/* remove payload length from inner checksum */
|
||||
paylen = skb->len - l4_offset;
|
||||
csum_replace_by_diff(&l4.tcp->check, htonl(paylen));
|
||||
csum_replace_by_diff(&l4.tcp->check, (__force __wsum)htonl(paylen));
|
||||
|
||||
/* compute length of segmentation header */
|
||||
*hdr_len = (l4.tcp->doff * 4) + l4_offset;
|
||||
|
@ -1629,7 +1629,8 @@ static int i40e_tso(struct i40e_tx_buffer *first, u8 *hdr_len,
|
||||
|
||||
/* remove payload length from outer checksum */
|
||||
paylen = skb->len - l4_offset;
|
||||
csum_replace_by_diff(&l4.udp->check, htonl(paylen));
|
||||
csum_replace_by_diff(&l4.udp->check,
|
||||
(__force __wsum)htonl(paylen));
|
||||
}
|
||||
|
||||
/* reset pointers to inner headers */
|
||||
@ -1650,7 +1651,7 @@ static int i40e_tso(struct i40e_tx_buffer *first, u8 *hdr_len,
|
||||
|
||||
/* remove payload length from inner checksum */
|
||||
paylen = skb->len - l4_offset;
|
||||
csum_replace_by_diff(&l4.tcp->check, htonl(paylen));
|
||||
csum_replace_by_diff(&l4.tcp->check, (__force __wsum)htonl(paylen));
|
||||
|
||||
/* compute length of segmentation header */
|
||||
*hdr_len = (l4.tcp->doff * 4) + l4_offset;
|
||||
|
Loading…
Reference in New Issue
Block a user