浏览代码

i40e/i40evf: fix I40E_MASK signed shift overflow warnings

GCC 6 has a new warning which will display when you attempt to left
shift a signed value beyond the storage size of the type. I40E_MASK
generates a mask value for 32bit registers. Properly typecast the mask
value and place the values in parenthesis to prevent macro expansion
issues.

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>
Jacob Keller 9 年之前
父节点
当前提交
dcb57456e7
共有 2 个文件被更改,包括 2 次插入2 次删除
  1. 1 1
      drivers/net/ethernet/intel/i40e/i40e_type.h
  2. 1 1
      drivers/net/ethernet/intel/i40evf/i40e_type.h

+ 1 - 1
drivers/net/ethernet/intel/i40e/i40e_type.h

@@ -36,7 +36,7 @@
 #include "i40e_devids.h"
 
 /* I40E_MASK is a macro used on 32 bit registers */
-#define I40E_MASK(mask, shift) (mask << shift)
+#define I40E_MASK(mask, shift) ((u32)(mask) << (shift))
 
 #define I40E_MAX_VSI_QP			16
 #define I40E_MAX_VF_VSI			3

+ 1 - 1
drivers/net/ethernet/intel/i40evf/i40e_type.h

@@ -36,7 +36,7 @@
 #include "i40e_devids.h"
 
 /* I40E_MASK is a macro used on 32 bit registers */
-#define I40E_MASK(mask, shift) (mask << shift)
+#define I40E_MASK(mask, shift) ((u32)(mask) << (shift))
 
 #define I40E_MAX_VSI_QP			16
 #define I40E_MAX_VF_VSI			3