| From e108cb3d633f94a4deb11af87c654c69f1a5ab2e Mon Sep 17 00:00:00 2001 |
| From: Tony Nguyen <anthony.l.nguyen@intel.com> |
| Date: Tue, 16 Apr 2019 10:21:15 -0700 |
| Subject: ice: Preserve VLAN Rx stripping settings |
| |
| [ Upstream commit e80e76db6c5bbc7a8f8512f3dc630a2170745b0b ] |
| |
| When Tx insertion is set, we are not accounting for the state of Rx |
| stripping. This causes Rx stripping to be enabled any time Tx |
| insertion is changed, even when it's supposed to be disabled. |
| |
| Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> |
| Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> |
| Tested-by: Andrew Bowers <andrewx.bowers@intel.com> |
| Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/intel/ice/ice_lib.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c |
| index fa61203bee269..b710545cf7d1a 100644 |
| --- a/drivers/net/ethernet/intel/ice/ice_lib.c |
| +++ b/drivers/net/ethernet/intel/ice/ice_lib.c |
| @@ -1848,6 +1848,10 @@ int ice_vsi_manage_vlan_insertion(struct ice_vsi *vsi) |
| */ |
| ctxt->info.vlan_flags = ICE_AQ_VSI_VLAN_MODE_ALL; |
| |
| + /* Preserve existing VLAN strip setting */ |
| + ctxt->info.vlan_flags |= (vsi->info.vlan_flags & |
| + ICE_AQ_VSI_VLAN_EMOD_M); |
| + |
| ctxt->info.valid_sections = cpu_to_le16(ICE_AQ_VSI_PROP_VLAN_VALID); |
| |
| status = ice_update_vsi(hw, vsi->idx, ctxt, NULL); |
| -- |
| 2.20.1 |
| |