Commit 0d709d91b85b71568b41b323d2a2c761f18e5213

Authored by Dan Carpenter
Committed by David S. Miller
1 parent 581df9e194

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