ice: fix enabling RX VLAN filtering
authorPetr Oros <poros@redhat.com>
Mon, 25 Mar 2024 20:19:01 +0000 (21:19 +0100)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 3 Apr 2024 16:16:19 +0000 (09:16 -0700)
commit8edfc7a40e3300fc6c5fa7a3228a24d5bcd86ba5
tree1b06e66d5c45d48d0781acdf67c7e3c9318c5e7e
parent90ca6956d3834db4060f87700e2fcbb699c4e4fd
ice: fix enabling RX VLAN filtering

ice_port_vlan_on/off() was introduced in commit 2946204b3fa8 ("ice:
implement bridge port vlan"). But ice_port_vlan_on() incorrectly assigns
ena_rx_filtering to inner_vlan_ops in DVM mode.
This causes an error when rx_filtering cannot be enabled in legacy mode.

Reproducer:
 echo 1 > /sys/class/net/$PF/device/sriov_numvfs
 ip link set $PF vf 0 spoofchk off trust on vlan 3
dmesg:
 ice 0000:41:00.0: failed to enable Rx VLAN filtering for VF 0 VSI 9 during VF rebuild, error -95

Fixes: 2946204b3fa8 ("ice: implement bridge port vlan")
Signed-off-by: Petr Oros <poros@redhat.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c