i40e: don't truncate match_method assignment
authorKeller, Jacob E <jacob.e.keller@intel.com>
Fri, 9 Dec 2016 21:39:21 +0000 (13:39 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 11 Dec 2016 04:31:19 +0000 (23:31 -0500)
The .match_method field is a u8, so we shouldn't be casting to a u16,
and because it is only one byte, we do not need to byte swap anything.
Just assign the value directly. This avoids issues on Big Endian
architectures which would have byte swapped and then incorrectly
truncated the value.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Bimmy Pujari <bimmy.pujari@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/i40e/i40e_main.c

index da4cbe32eb86be60695d0fd52729e7e54e11d16b..ad4cf639430eacf8e746d2f23bda1be8b28af4d4 100644 (file)
@@ -2196,8 +2196,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
                        }
                        add_list[num_add].queue_number = 0;
                        /* set invalid match method for later detection */
-                       add_list[num_add].match_method =
-                               cpu_to_le16((u16)I40E_AQC_MM_ERR_NO_RES);
+                       add_list[num_add].match_method = I40E_AQC_MM_ERR_NO_RES;
                        cmd_flags |= I40E_AQC_MACVLAN_ADD_PERFECT_MATCH;
                        add_list[num_add].flags = cpu_to_le16(cmd_flags);
                        num_add++;