|
@@ -864,9 +864,13 @@ static s32 fm10k_iov_assign_default_mac_vlan_pf(struct fm10k_hw *hw,
|
|
fm10k_write_reg(hw, FM10K_TQMAP(qmap_idx), 0);
|
|
fm10k_write_reg(hw, FM10K_TQMAP(qmap_idx), 0);
|
|
fm10k_write_reg(hw, FM10K_TXDCTL(vf_q_idx), 0);
|
|
fm10k_write_reg(hw, FM10K_TXDCTL(vf_q_idx), 0);
|
|
|
|
|
|
- /* determine correct default VLAN ID */
|
|
|
|
|
|
+ /* Determine correct default VLAN ID. The FM10K_VLAN_OVERRIDE bit is
|
|
|
|
+ * used here to indicate to the VF that it will not have privilege to
|
|
|
|
+ * write VLAN_TABLE. All policy is enforced on the PF but this allows
|
|
|
|
+ * the VF to correctly report errors to userspace rqeuests.
|
|
|
|
+ */
|
|
if (vf_info->pf_vid)
|
|
if (vf_info->pf_vid)
|
|
- vf_vid = vf_info->pf_vid | FM10K_VLAN_CLEAR;
|
|
|
|
|
|
+ vf_vid = vf_info->pf_vid | FM10K_VLAN_OVERRIDE;
|
|
else
|
|
else
|
|
vf_vid = vf_info->sw_vid;
|
|
vf_vid = vf_info->sw_vid;
|
|
|
|
|