All filtering parameters such as EtherType and VLAN TCI are stored in host byte
order except for the VLAN EtherType. Unify it.

Signed-off-by: Kurt Kanzenbach <[email protected]>
---
 drivers/net/ethernet/intel/igc/igc.h         |  2 +-
 drivers/net/ethernet/intel/igc/igc_ethtool.c |  2 +-
 drivers/net/ethernet/intel/igc/igc_main.c    | 10 ++++++----
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/intel/igc/igc.h 
b/drivers/net/ethernet/intel/igc/igc.h
index ac7c861e83a0..c783355f99be 100644
--- a/drivers/net/ethernet/intel/igc/igc.h
+++ b/drivers/net/ethernet/intel/igc/igc.h
@@ -585,7 +585,7 @@ enum igc_filter_match_flags {
 struct igc_nfc_filter {
        u8 match_flags;
        u16 etype;
-       __be16 vlan_etype;
+       u16 vlan_etype;
        u16 vlan_tci;
        u8 src_addr[ETH_ALEN];
        u8 dst_addr[ETH_ALEN];
diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c 
b/drivers/net/ethernet/intel/igc/igc_ethtool.c
index 785eaa8e0ba8..8e12ef362b23 100644
--- a/drivers/net/ethernet/intel/igc/igc_ethtool.c
+++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c
@@ -1243,7 +1243,7 @@ static void igc_ethtool_init_nfc_rule(struct igc_nfc_rule 
*rule,
 
        /* VLAN etype matching */
        if ((fsp->flow_type & FLOW_EXT) && fsp->h_ext.vlan_etype) {
-               rule->filter.vlan_etype = fsp->h_ext.vlan_etype;
+               rule->filter.vlan_etype = ntohs(fsp->h_ext.vlan_etype);
                rule->filter.match_flags |= IGC_FILTER_FLAG_VLAN_ETYPE;
        }
 
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c 
b/drivers/net/ethernet/intel/igc/igc_main.c
index 4c562df0527d..c4dbb8c50a4e 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -3614,10 +3614,12 @@ static int igc_add_flex_filter(struct igc_adapter 
*adapter,
                                          ETH_ALEN, NULL);
 
        /* Add VLAN etype */
-       if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_ETYPE)
-               igc_flex_filter_add_field(&flex, &filter->vlan_etype, 12,
-                                         sizeof(filter->vlan_etype),
-                                         NULL);
+       if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_ETYPE) {
+               __be16 vlan_etype = cpu_to_be16(filter->vlan_etype);
+
+               igc_flex_filter_add_field(&flex, &vlan_etype, 12,
+                                         sizeof(vlan_etype), NULL);
+       }
 
        /* Add VLAN TCI */
        if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_TCI)
-- 
2.39.2

_______________________________________________
Intel-wired-lan mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

Reply via email to