mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-16 17:43:56 +08:00
ixgbevf: add spinlocks for MTU change calls
Protect set_rlpml with mailbox lock to make sure the MTU configuration is handled properly. This change resolves an issue where set_rlpml can fail when the VF interface is brought up: ixgbevf 0000:03:1d.6: Failed to set MTU at 1500 Signed-off-by: Emil Tantilov <emil.s.tantilov@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
ade3ccf9dc
commit
14b22cd982
@ -1810,8 +1810,10 @@ static void ixgbevf_configure_rx(struct ixgbevf_adapter *adapter)
|
||||
if (hw->mac.type >= ixgbe_mac_X550_vf)
|
||||
ixgbevf_setup_vfmrqc(adapter);
|
||||
|
||||
spin_lock_bh(&adapter->mbx_lock);
|
||||
/* notify the PF of our intent to use this size of frame */
|
||||
ret = hw->mac.ops.set_rlpml(hw, netdev->mtu + ETH_HLEN + ETH_FCS_LEN);
|
||||
spin_unlock_bh(&adapter->mbx_lock);
|
||||
if (ret)
|
||||
dev_err(&adapter->pdev->dev,
|
||||
"Failed to set MTU at %d\n", netdev->mtu);
|
||||
@ -3758,8 +3760,10 @@ static int ixgbevf_change_mtu(struct net_device *netdev, int new_mtu)
|
||||
if ((new_mtu < 68) || (max_frame > max_possible_frame))
|
||||
return -EINVAL;
|
||||
|
||||
spin_lock_bh(&adapter->mbx_lock);
|
||||
/* notify the PF of our intent to use this size of frame */
|
||||
ret = hw->mac.ops.set_rlpml(hw, max_frame);
|
||||
spin_unlock_bh(&adapter->mbx_lock);
|
||||
if (ret)
|
||||
return -EINVAL;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user