mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-23 03:29:33 +07:00
i40e: use QOS field consistently
In i40e_ndo_set_vf_port_vlan, we were using the QOS value inconsistently, sometimes shifting it, sometimes not. Do the shift-and- or operation correctly, once, and use the result consistently everywhere in the function. Change-ID: I46f062f3edc90a8a017ecec9137f4d1ab0ab9e41 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
d8201e200a
commit
f7fc2f2eb1
@ -2089,6 +2089,7 @@ int i40e_ndo_set_vf_mac(struct net_device *netdev, int vf_id, u8 *mac)
|
||||
int i40e_ndo_set_vf_port_vlan(struct net_device *netdev,
|
||||
int vf_id, u16 vlan_id, u8 qos)
|
||||
{
|
||||
u16 vlanprio = vlan_id | (qos << I40E_VLAN_PRIORITY_SHIFT);
|
||||
struct i40e_netdev_priv *np = netdev_priv(netdev);
|
||||
struct i40e_pf *pf = np->vsi->back;
|
||||
struct i40e_vsi *vsi;
|
||||
@ -2116,8 +2117,7 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev,
|
||||
goto error_pvid;
|
||||
}
|
||||
|
||||
if (le16_to_cpu(vsi->info.pvid) ==
|
||||
(vlan_id | (qos << I40E_VLAN_PRIORITY_SHIFT)))
|
||||
if (le16_to_cpu(vsi->info.pvid) == vlanprio)
|
||||
/* duplicate request, so just return success */
|
||||
goto error_pvid;
|
||||
|
||||
@ -2141,7 +2141,7 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev,
|
||||
* MAC addresses deleted.
|
||||
*/
|
||||
if ((!(vlan_id || qos) ||
|
||||
(vlan_id | qos) != le16_to_cpu(vsi->info.pvid)) &&
|
||||
vlanprio != le16_to_cpu(vsi->info.pvid)) &&
|
||||
vsi->info.pvid)
|
||||
ret = i40e_vsi_add_vlan(vsi, I40E_VLAN_ANY);
|
||||
|
||||
@ -2156,8 +2156,7 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev,
|
||||
}
|
||||
}
|
||||
if (vlan_id || qos)
|
||||
ret = i40e_vsi_add_pvid(vsi,
|
||||
vlan_id | (qos << I40E_VLAN_PRIORITY_SHIFT));
|
||||
ret = i40e_vsi_add_pvid(vsi, vlanprio);
|
||||
else
|
||||
i40e_vsi_remove_pvid(vsi);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user