ice: Fix double VLAN error when entering promisc mode
authorGrzegorz Siwik <grzegorz.siwik@intel.com>
Fri, 12 Aug 2022 13:25:47 +0000 (15:25 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 17 Aug 2022 16:29:50 +0000 (09:29 -0700)
commitffa9ed86522f1c08d4face4e0a4ebf366037bf19
treece4f9d3c7a2cc9eb0b691d8f05eee11c5933fbd5
parented16d19c5f1d02908caf85c52a787de2eeeced2f
ice: Fix double VLAN error when entering promisc mode

Avoid enabling or disabling VLAN 0 when trying to set promiscuous
VLAN mode if double VLAN mode is enabled. This fix is needed
because the driver tries to add the VLAN 0 filter twice (once for
inner and once for outer) when double VLAN mode is enabled. The
filter program is rejected by the firmware when double VLAN is
enabled, because the promiscuous filter only needs to be set once.

This issue was missed in the initial implementation of double VLAN
mode.

Fixes: 5eda8afd6bcc ("ice: Add support for PF/VF promiscuous mode")
Signed-off-by: Grzegorz Siwik <grzegorz.siwik@intel.com>
Link: https://lore.kernel.org/all/CAK8fFZ7m-KR57M_rYX6xZN39K89O=LGooYkKsu6HKt0Bs+x6xQ@mail.gmail.com/
Tested-by: Jaroslav Pulchart <jaroslav.pulchart@gooddata.com>
Tested-by: Igor Raits <igor@gooddata.com>
Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_switch.c