Commit 0d709d91b85b71568b41b323d2a2c761f18e5213
Committed by
David S. Miller
1 parent
581df9e194
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
ipg: fix an unsigned widening cast of '~' truncation issue
The bug here is this code from ipg_nic_hard_start_xmit(): txfd->tfc &= cpu_to_le64(~IPG_TFC_TFDDONE); IPG_TFC_TFDDONE is 0x0000000080000000 so it's an unsigned int. The negated value is 0x7fffffff but 0xffffffff7fffffff was intended. The other values in this file don't need to be changed but I did it for consistency. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 43 additions and 43 deletions Side-by-side Diff
drivers/net/ethernet/icplus/ipg.h
... | ... | @@ -195,57 +195,57 @@ |
195 | 195 | /* TFD data structure masks. */ |
196 | 196 | |
197 | 197 | /* TFDList, TFC */ |
198 | -#define IPG_TFC_RSVD_MASK 0x0000FFFF9FFFFFFF | |
199 | -#define IPG_TFC_FRAMEID 0x000000000000FFFF | |
200 | -#define IPG_TFC_WORDALIGN 0x0000000000030000 | |
201 | -#define IPG_TFC_WORDALIGNTODWORD 0x0000000000000000 | |
202 | -#define IPG_TFC_WORDALIGNTOWORD 0x0000000000020000 | |
203 | -#define IPG_TFC_WORDALIGNDISABLED 0x0000000000030000 | |
204 | -#define IPG_TFC_TCPCHECKSUMENABLE 0x0000000000040000 | |
205 | -#define IPG_TFC_UDPCHECKSUMENABLE 0x0000000000080000 | |
206 | -#define IPG_TFC_IPCHECKSUMENABLE 0x0000000000100000 | |
207 | -#define IPG_TFC_FCSAPPENDDISABLE 0x0000000000200000 | |
208 | -#define IPG_TFC_TXINDICATE 0x0000000000400000 | |
209 | -#define IPG_TFC_TXDMAINDICATE 0x0000000000800000 | |
210 | -#define IPG_TFC_FRAGCOUNT 0x000000000F000000 | |
211 | -#define IPG_TFC_VLANTAGINSERT 0x0000000010000000 | |
212 | -#define IPG_TFC_TFDDONE 0x0000000080000000 | |
213 | -#define IPG_TFC_VID 0x00000FFF00000000 | |
214 | -#define IPG_TFC_CFI 0x0000100000000000 | |
215 | -#define IPG_TFC_USERPRIORITY 0x0000E00000000000 | |
198 | +#define IPG_TFC_RSVD_MASK 0x0000FFFF9FFFFFFFULL | |
199 | +#define IPG_TFC_FRAMEID 0x000000000000FFFFULL | |
200 | +#define IPG_TFC_WORDALIGN 0x0000000000030000ULL | |
201 | +#define IPG_TFC_WORDALIGNTODWORD 0x0000000000000000ULL | |
202 | +#define IPG_TFC_WORDALIGNTOWORD 0x0000000000020000ULL | |
203 | +#define IPG_TFC_WORDALIGNDISABLED 0x0000000000030000ULL | |
204 | +#define IPG_TFC_TCPCHECKSUMENABLE 0x0000000000040000ULL | |
205 | +#define IPG_TFC_UDPCHECKSUMENABLE 0x0000000000080000ULL | |
206 | +#define IPG_TFC_IPCHECKSUMENABLE 0x0000000000100000ULL | |
207 | +#define IPG_TFC_FCSAPPENDDISABLE 0x0000000000200000ULL | |
208 | +#define IPG_TFC_TXINDICATE 0x0000000000400000ULL | |
209 | +#define IPG_TFC_TXDMAINDICATE 0x0000000000800000ULL | |
210 | +#define IPG_TFC_FRAGCOUNT 0x000000000F000000ULL | |
211 | +#define IPG_TFC_VLANTAGINSERT 0x0000000010000000ULL | |
212 | +#define IPG_TFC_TFDDONE 0x0000000080000000ULL | |
213 | +#define IPG_TFC_VID 0x00000FFF00000000ULL | |
214 | +#define IPG_TFC_CFI 0x0000100000000000ULL | |
215 | +#define IPG_TFC_USERPRIORITY 0x0000E00000000000ULL | |
216 | 216 | |
217 | 217 | /* TFDList, FragInfo */ |
218 | -#define IPG_TFI_RSVD_MASK 0xFFFF00FFFFFFFFFF | |
219 | -#define IPG_TFI_FRAGADDR 0x000000FFFFFFFFFF | |
220 | -#define IPG_TFI_FRAGLEN 0xFFFF000000000000LL | |
218 | +#define IPG_TFI_RSVD_MASK 0xFFFF00FFFFFFFFFFULL | |
219 | +#define IPG_TFI_FRAGADDR 0x000000FFFFFFFFFFULL | |
220 | +#define IPG_TFI_FRAGLEN 0xFFFF000000000000ULL | |
221 | 221 | |
222 | 222 | /* RFD data structure masks. */ |
223 | 223 | |
224 | 224 | /* RFDList, RFS */ |
225 | -#define IPG_RFS_RSVD_MASK 0x0000FFFFFFFFFFFF | |
226 | -#define IPG_RFS_RXFRAMELEN 0x000000000000FFFF | |
227 | -#define IPG_RFS_RXFIFOOVERRUN 0x0000000000010000 | |
228 | -#define IPG_RFS_RXRUNTFRAME 0x0000000000020000 | |
229 | -#define IPG_RFS_RXALIGNMENTERROR 0x0000000000040000 | |
230 | -#define IPG_RFS_RXFCSERROR 0x0000000000080000 | |
231 | -#define IPG_RFS_RXOVERSIZEDFRAME 0x0000000000100000 | |
232 | -#define IPG_RFS_RXLENGTHERROR 0x0000000000200000 | |
233 | -#define IPG_RFS_VLANDETECTED 0x0000000000400000 | |
234 | -#define IPG_RFS_TCPDETECTED 0x0000000000800000 | |
235 | -#define IPG_RFS_TCPERROR 0x0000000001000000 | |
236 | -#define IPG_RFS_UDPDETECTED 0x0000000002000000 | |
237 | -#define IPG_RFS_UDPERROR 0x0000000004000000 | |
238 | -#define IPG_RFS_IPDETECTED 0x0000000008000000 | |
239 | -#define IPG_RFS_IPERROR 0x0000000010000000 | |
240 | -#define IPG_RFS_FRAMESTART 0x0000000020000000 | |
241 | -#define IPG_RFS_FRAMEEND 0x0000000040000000 | |
242 | -#define IPG_RFS_RFDDONE 0x0000000080000000 | |
243 | -#define IPG_RFS_TCI 0x0000FFFF00000000 | |
225 | +#define IPG_RFS_RSVD_MASK 0x0000FFFFFFFFFFFFULL | |
226 | +#define IPG_RFS_RXFRAMELEN 0x000000000000FFFFULL | |
227 | +#define IPG_RFS_RXFIFOOVERRUN 0x0000000000010000ULL | |
228 | +#define IPG_RFS_RXRUNTFRAME 0x0000000000020000ULL | |
229 | +#define IPG_RFS_RXALIGNMENTERROR 0x0000000000040000ULL | |
230 | +#define IPG_RFS_RXFCSERROR 0x0000000000080000ULL | |
231 | +#define IPG_RFS_RXOVERSIZEDFRAME 0x0000000000100000ULL | |
232 | +#define IPG_RFS_RXLENGTHERROR 0x0000000000200000ULL | |
233 | +#define IPG_RFS_VLANDETECTED 0x0000000000400000ULL | |
234 | +#define IPG_RFS_TCPDETECTED 0x0000000000800000ULL | |
235 | +#define IPG_RFS_TCPERROR 0x0000000001000000ULL | |
236 | +#define IPG_RFS_UDPDETECTED 0x0000000002000000ULL | |
237 | +#define IPG_RFS_UDPERROR 0x0000000004000000ULL | |
238 | +#define IPG_RFS_IPDETECTED 0x0000000008000000ULL | |
239 | +#define IPG_RFS_IPERROR 0x0000000010000000ULL | |
240 | +#define IPG_RFS_FRAMESTART 0x0000000020000000ULL | |
241 | +#define IPG_RFS_FRAMEEND 0x0000000040000000ULL | |
242 | +#define IPG_RFS_RFDDONE 0x0000000080000000ULL | |
243 | +#define IPG_RFS_TCI 0x0000FFFF00000000ULL | |
244 | 244 | |
245 | 245 | /* RFDList, FragInfo */ |
246 | -#define IPG_RFI_RSVD_MASK 0xFFFF00FFFFFFFFFF | |
247 | -#define IPG_RFI_FRAGADDR 0x000000FFFFFFFFFF | |
248 | -#define IPG_RFI_FRAGLEN 0xFFFF000000000000LL | |
246 | +#define IPG_RFI_RSVD_MASK 0xFFFF00FFFFFFFFFFULL | |
247 | +#define IPG_RFI_FRAGADDR 0x000000FFFFFFFFFFULL | |
248 | +#define IPG_RFI_FRAGLEN 0xFFFF000000000000ULL | |
249 | 249 | |
250 | 250 | /* I/O Register masks. */ |
251 | 251 |