net: annotate writes on dev->mtu from ndo_change_mtu()
Simon reported that ndo_change_mtu() methods were never
updated to use WRITE_ONCE(dev->mtu, new_mtu) as hinted
in commit 501a90c945
("inet: protect against too small
mtu values.")
We read dev->mtu without holding RTNL in many places,
with READ_ONCE() annotations.
It is time to take care of ndo_change_mtu() methods
to use corresponding WRITE_ONCE()
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Simon Horman <horms@kernel.org>
Closes: https://lore.kernel.org/netdev/20240505144608.GB67882@kernel.org/
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Acked-by: Shannon Nelson <shannon.nelson@amd.com>
Link: https://lore.kernel.org/r/20240506102812.3025432-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
feb8c2b76e
commit
1eb2cded45
|
@ -238,7 +238,7 @@ static int ipoib_change_mtu(struct net_device *dev, int new_mtu)
|
|||
ipoib_warn(priv, "mtu > %d will cause multicast packet drops.\n",
|
||||
priv->mcast_mtu);
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -265,7 +265,7 @@ static int ipoib_change_mtu(struct net_device *dev, int new_mtu)
|
|||
if (carrier_status)
|
||||
netif_carrier_on(dev);
|
||||
} else {
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
|
@ -4710,7 +4710,7 @@ static int bond_change_mtu(struct net_device *bond_dev, int new_mtu)
|
|||
}
|
||||
}
|
||||
|
||||
bond_dev->mtu = new_mtu;
|
||||
WRITE_ONCE(bond_dev->mtu, new_mtu);
|
||||
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -338,7 +338,7 @@ int can_change_mtu(struct net_device *dev, int new_mtu)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(can_change_mtu);
|
||||
|
|
|
@ -140,7 +140,7 @@ static int vcan_change_mtu(struct net_device *dev, int new_mtu)
|
|||
!can_is_canxl_dev_mtu(new_mtu))
|
||||
return -EINVAL;
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ static int vxcan_change_mtu(struct net_device *dev, int new_mtu)
|
|||
!can_is_canxl_dev_mtu(new_mtu))
|
||||
return -EINVAL;
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -3852,7 +3852,7 @@ static int et131x_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
et131x_disable_txrx(netdev);
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
et131x_adapter_memory_free(adapter);
|
||||
|
||||
|
|
|
@ -2539,7 +2539,7 @@ static int ace_change_mtu(struct net_device *dev, int new_mtu)
|
|||
struct ace_regs __iomem *regs = ap->regs;
|
||||
|
||||
writel(new_mtu + ETH_HLEN + 4, ®s->IfMtu);
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
if (new_mtu > ACE_STD_MTU) {
|
||||
if (!(ap->jumbo)) {
|
||||
|
|
|
@ -788,7 +788,7 @@ static int tse_change_mtu(struct net_device *dev, int new_mtu)
|
|||
return -EBUSY;
|
||||
}
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
netdev_update_features(dev);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -104,7 +104,7 @@ static int ena_change_mtu(struct net_device *dev, int new_mtu)
|
|||
if (!ret) {
|
||||
netif_dbg(adapter, drv, dev, "Set MTU to %d\n", new_mtu);
|
||||
update_rx_ring_mtu(adapter, new_mtu);
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
} else {
|
||||
netif_err(adapter, drv, dev, "Failed to set MTU to %d\n",
|
||||
new_mtu);
|
||||
|
|
|
@ -1520,9 +1520,9 @@ static int amd8111e_change_mtu(struct net_device *dev, int new_mtu)
|
|||
|
||||
if (!netif_running(dev)) {
|
||||
/* new_mtu will be used
|
||||
* when device starts netxt time
|
||||
* when device starts next time
|
||||
*/
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1531,7 +1531,7 @@ static int amd8111e_change_mtu(struct net_device *dev, int new_mtu)
|
|||
/* stop the chip */
|
||||
writel(RUN, lp->mmio + CMD0);
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
err = amd8111e_restart(dev);
|
||||
spin_unlock_irq(&lp->lock);
|
||||
|
|
|
@ -2070,7 +2070,7 @@ static int xgbe_change_mtu(struct net_device *netdev, int mtu)
|
|||
return ret;
|
||||
|
||||
pdata->rx_buf_size = ret;
|
||||
netdev->mtu = mtu;
|
||||
WRITE_ONCE(netdev->mtu, mtu);
|
||||
|
||||
xgbe_restart_dev(pdata);
|
||||
|
||||
|
|
|
@ -1530,7 +1530,7 @@ static int xgene_change_mtu(struct net_device *ndev, int new_mtu)
|
|||
frame_size = (new_mtu > ETH_DATA_LEN) ? (new_mtu + 18) : 0x600;
|
||||
|
||||
xgene_enet_close(ndev);
|
||||
ndev->mtu = new_mtu;
|
||||
WRITE_ONCE(ndev->mtu, new_mtu);
|
||||
pdata->mac_ops->set_framesize(pdata, frame_size);
|
||||
xgene_enet_open(ndev);
|
||||
|
||||
|
|
|
@ -146,7 +146,7 @@ static int aq_ndev_change_mtu(struct net_device *ndev, int new_mtu)
|
|||
|
||||
if (err < 0)
|
||||
goto err_exit;
|
||||
ndev->mtu = new_mtu;
|
||||
WRITE_ONCE(ndev->mtu, new_mtu);
|
||||
|
||||
err_exit:
|
||||
return err;
|
||||
|
|
|
@ -1788,7 +1788,7 @@ static int ag71xx_change_mtu(struct net_device *ndev, int new_mtu)
|
|||
{
|
||||
struct ag71xx *ag = netdev_priv(ndev);
|
||||
|
||||
ndev->mtu = new_mtu;
|
||||
WRITE_ONCE(ndev->mtu, new_mtu);
|
||||
ag71xx_wr(ag, AG71XX_REG_MAC_MFL,
|
||||
ag71xx_max_frame_len(ndev->mtu));
|
||||
|
||||
|
|
|
@ -1176,7 +1176,7 @@ static int alx_change_mtu(struct net_device *netdev, int mtu)
|
|||
struct alx_priv *alx = netdev_priv(netdev);
|
||||
int max_frame = ALX_MAX_FRAME_LEN(mtu);
|
||||
|
||||
netdev->mtu = mtu;
|
||||
WRITE_ONCE(netdev->mtu, mtu);
|
||||
alx->hw.mtu = mtu;
|
||||
alx->rxbuf_size = max(max_frame, ALX_DEF_RXBUF_SIZE);
|
||||
netdev_update_features(netdev);
|
||||
|
|
|
@ -561,7 +561,7 @@ static int atl1c_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
if (netif_running(netdev)) {
|
||||
while (test_and_set_bit(__AT_RESETTING, &adapter->flags))
|
||||
msleep(1);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
adapter->hw.max_frame_size = new_mtu;
|
||||
atl1c_set_rxbufsize(adapter, netdev);
|
||||
atl1c_down(adapter);
|
||||
|
|
|
@ -428,7 +428,7 @@ static int atl1e_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
if (netif_running(netdev)) {
|
||||
while (test_and_set_bit(__AT_RESETTING, &adapter->flags))
|
||||
msleep(1);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
adapter->hw.max_frame_size = new_mtu;
|
||||
adapter->hw.rx_jumbo_th = (max_frame + 7) >> 3;
|
||||
atl1e_down(adapter);
|
||||
|
|
|
@ -2687,7 +2687,7 @@ static int atl1_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
adapter->rx_buffer_len = (max_frame + 7) & ~7;
|
||||
adapter->hw.rx_jumbo_th = adapter->rx_buffer_len / 8;
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
if (netif_running(netdev)) {
|
||||
atl1_down(adapter);
|
||||
atl1_up(adapter);
|
||||
|
|
|
@ -905,7 +905,7 @@ static int atl2_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
struct atl2_hw *hw = &adapter->hw;
|
||||
|
||||
/* set MTU */
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
hw->max_frame_size = new_mtu;
|
||||
ATL2_WRITE_REG(hw, REG_MTU, new_mtu + ETH_HLEN +
|
||||
VLAN_HLEN + ETH_FCS_LEN);
|
||||
|
|
|
@ -1042,13 +1042,13 @@ static int b44_change_mtu(struct net_device *dev, int new_mtu)
|
|||
/* We'll just catch it later when the
|
||||
* device is up'd.
|
||||
*/
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
spin_lock_irq(&bp->lock);
|
||||
b44_halt(bp);
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
b44_init_rings(bp);
|
||||
b44_init_hw(bp, B44_FULL_RESET);
|
||||
spin_unlock_irq(&bp->lock);
|
||||
|
|
|
@ -1652,7 +1652,7 @@ static int bcm_enet_change_mtu(struct net_device *dev, int new_mtu)
|
|||
priv->rx_frag_size = SKB_DATA_ALIGN(priv->rx_buf_offset + priv->rx_buf_size) +
|
||||
SKB_DATA_ALIGN(sizeof(struct skb_shared_info));
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -7912,7 +7912,7 @@ bnx2_change_mtu(struct net_device *dev, int new_mtu)
|
|||
{
|
||||
struct bnx2 *bp = netdev_priv(dev);
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return bnx2_change_ring_size(bp, bp->rx_ring_size, bp->tx_ring_size,
|
||||
false);
|
||||
}
|
||||
|
|
|
@ -4902,7 +4902,7 @@ int bnx2x_change_mtu(struct net_device *dev, int new_mtu)
|
|||
* because the actual alloc size is
|
||||
* only updated as part of load
|
||||
*/
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
if (!bnx2x_mtu_allows_gro(new_mtu))
|
||||
dev->features &= ~NETIF_F_GRO_HW;
|
||||
|
|
|
@ -14280,7 +14280,7 @@ static int bnxt_change_mtu(struct net_device *dev, int new_mtu)
|
|||
if (netif_running(dev))
|
||||
bnxt_close_nic(bp, true, false);
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
bnxt_set_ring_params(bp);
|
||||
|
||||
if (netif_running(dev))
|
||||
|
|
|
@ -14295,7 +14295,7 @@ static void tg3_set_rx_mode(struct net_device *dev)
|
|||
static inline void tg3_set_mtu(struct net_device *dev, struct tg3 *tp,
|
||||
int new_mtu)
|
||||
{
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
if (new_mtu > ETH_DATA_LEN) {
|
||||
if (tg3_flag(tp, 5780_CLASS)) {
|
||||
|
|
|
@ -3276,7 +3276,7 @@ bnad_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
mutex_lock(&bnad->conf_mutex);
|
||||
|
||||
mtu = netdev->mtu;
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
frame = BNAD_FRAME_SIZE(mtu);
|
||||
new_frame = BNAD_FRAME_SIZE(new_mtu);
|
||||
|
|
|
@ -3022,7 +3022,7 @@ static int macb_change_mtu(struct net_device *dev, int new_mtu)
|
|||
if (netif_running(dev))
|
||||
return -EBUSY;
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1358,7 +1358,7 @@ static int xgmac_change_mtu(struct net_device *dev, int new_mtu)
|
|||
|
||||
/* Bring interface down, change mtu and bring interface back up */
|
||||
xgmac_stop(dev);
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return xgmac_open(dev);
|
||||
}
|
||||
|
||||
|
|
|
@ -1262,7 +1262,7 @@ int liquidio_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
lio->mtu = new_mtu;
|
||||
|
||||
WRITE_ONCE(sc->caller_is_done, true);
|
||||
|
|
|
@ -218,7 +218,7 @@ lio_vf_rep_change_mtu(struct net_device *ndev, int new_mtu)
|
|||
return -EIO;
|
||||
}
|
||||
|
||||
ndev->mtu = new_mtu;
|
||||
WRITE_ONCE(ndev->mtu, new_mtu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -649,7 +649,7 @@ static int octeon_mgmt_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
struct octeon_mgmt *p = netdev_priv(netdev);
|
||||
int max_packet = new_mtu + ETH_HLEN + ETH_FCS_LEN;
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
/* HW lifts the limit if the frame is VLAN tagged
|
||||
* (+4 bytes per each tag, up to two tags)
|
||||
|
|
|
@ -1589,7 +1589,7 @@ static int nicvf_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (!netif_running(netdev))
|
||||
return 0;
|
||||
|
|
|
@ -844,7 +844,7 @@ static int t1_change_mtu(struct net_device *dev, int new_mtu)
|
|||
return -EOPNOTSUPP;
|
||||
if ((ret = mac->ops->set_mtu(mac, new_mtu)))
|
||||
return ret;
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -2559,7 +2559,7 @@ static int cxgb_change_mtu(struct net_device *dev, int new_mtu)
|
|||
|
||||
if ((ret = t3_mac_set_mtu(&pi->mac, new_mtu)))
|
||||
return ret;
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
init_port_mtus(adapter);
|
||||
if (adapter->params.rev == 0 && offload_running(adapter))
|
||||
t3_load_mtus(adapter, adapter->params.mtus,
|
||||
|
|
|
@ -3180,7 +3180,7 @@ static int cxgb_change_mtu(struct net_device *dev, int new_mtu)
|
|||
ret = t4_set_rxmode(pi->adapter, pi->adapter->mbox, pi->viid,
|
||||
pi->viid_mirror, new_mtu, -1, -1, -1, -1, true);
|
||||
if (!ret)
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -1169,7 +1169,7 @@ static int cxgb4vf_change_mtu(struct net_device *dev, int new_mtu)
|
|||
ret = t4vf_set_rxmode(pi->adapter, pi->viid, new_mtu,
|
||||
-1, -1, -1, -1, true);
|
||||
if (!ret)
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -2027,7 +2027,7 @@ static int _enic_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
return err;
|
||||
}
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (running) {
|
||||
err = enic_open(netdev);
|
||||
|
|
|
@ -1978,7 +1978,7 @@ static int gmac_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
gmac_disable_tx_rx(netdev);
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
gmac_update_config0_reg(netdev, max_len << CONFIG0_MAXLEN_SHIFT,
|
||||
CONFIG0_MAXLEN_MASK);
|
||||
|
||||
|
|
|
@ -708,7 +708,7 @@ static int change_mtu(struct net_device *dev, int new_mtu)
|
|||
{
|
||||
if (netif_running(dev))
|
||||
return -EBUSY;
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -1092,7 +1092,7 @@ static int ftmac100_change_mtu(struct net_device *netdev, int mtu)
|
|||
}
|
||||
iowrite32(maccr, priv->base + FTMAC100_OFFSET_MACCR);
|
||||
|
||||
netdev->mtu = mtu;
|
||||
WRITE_ONCE(netdev->mtu, mtu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -2995,7 +2995,7 @@ static int dpaa_change_mtu(struct net_device *net_dev, int new_mtu)
|
|||
if (priv->xdp_prog && !xdp_validate_mtu(priv, new_mtu))
|
||||
return -EINVAL;
|
||||
|
||||
net_dev->mtu = new_mtu;
|
||||
WRITE_ONCE(net_dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -2698,7 +2698,7 @@ static int dpaa2_eth_change_mtu(struct net_device *dev, int new_mtu)
|
|||
return err;
|
||||
|
||||
out:
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -590,7 +590,7 @@ static int dpaa2_switch_port_change_mtu(struct net_device *netdev, int mtu)
|
|||
return err;
|
||||
}
|
||||
|
||||
netdev->mtu = mtu;
|
||||
WRITE_ONCE(netdev->mtu, mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -2026,7 +2026,7 @@ static int gfar_change_mtu(struct net_device *dev, int new_mtu)
|
|||
if (dev->flags & IFF_UP)
|
||||
stop_gfar(dev);
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
if (dev->flags & IFF_UP)
|
||||
startup_gfar(dev);
|
||||
|
|
|
@ -927,7 +927,7 @@ static int fun_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
rc = fun_port_write_cmd(fp, FUN_ADMIN_PORT_KEY_MTU, new_mtu);
|
||||
if (!rc)
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
|
|
@ -1777,7 +1777,7 @@ static int hns_nic_change_mtu(struct net_device *ndev, int new_mtu)
|
|||
}
|
||||
|
||||
/* finally, set new mtu to netdevice */
|
||||
ndev->mtu = new_mtu;
|
||||
WRITE_ONCE(ndev->mtu, new_mtu);
|
||||
|
||||
out:
|
||||
if (if_running) {
|
||||
|
|
|
@ -2761,7 +2761,7 @@ static int hns3_nic_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
netdev_err(netdev, "failed to change MTU in hardware %d\n",
|
||||
ret);
|
||||
else
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -581,7 +581,7 @@ static int hinic_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
if (err)
|
||||
netif_err(nic_dev, drv, netdev, "Failed to set port mtu\n");
|
||||
else
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
|
|
@ -1098,7 +1098,7 @@ static int emac_resize_rx_ring(struct emac_instance *dev, int new_mtu)
|
|||
/* This is to prevent starting RX channel in emac_rx_enable() */
|
||||
set_bit(MAL_COMMAC_RX_STOPPED, &dev->commac.flags);
|
||||
|
||||
dev->ndev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->ndev->mtu, new_mtu);
|
||||
emac_full_tx_reset(dev);
|
||||
}
|
||||
|
||||
|
@ -1130,7 +1130,7 @@ static int emac_change_mtu(struct net_device *ndev, int new_mtu)
|
|||
}
|
||||
|
||||
if (!ret) {
|
||||
ndev->mtu = new_mtu;
|
||||
WRITE_ONCE(ndev->mtu, new_mtu);
|
||||
dev->rx_skb_size = emac_rx_skb_size(new_mtu);
|
||||
dev->rx_sync_size = emac_rx_sync_size(new_mtu);
|
||||
}
|
||||
|
|
|
@ -1537,7 +1537,7 @@ static int ibmveth_change_mtu(struct net_device *dev, int new_mtu)
|
|||
adapter->rx_buff_pool[i].active = 1;
|
||||
|
||||
if (new_mtu_oh <= adapter->rx_buff_pool[i].buff_size) {
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
vio_cmo_set_dev_desired(viodev,
|
||||
ibmveth_get_desired_dma
|
||||
(viodev));
|
||||
|
|
|
@ -3569,7 +3569,7 @@ static int e1000_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
netdev_dbg(netdev, "changing MTU from %d to %d\n",
|
||||
netdev->mtu, new_mtu);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (netif_running(netdev))
|
||||
e1000_up(adapter);
|
||||
|
|
|
@ -6038,7 +6038,7 @@ static int e1000_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
adapter->max_frame_size = max_frame;
|
||||
netdev_dbg(netdev, "changing MTU from %d to %d\n",
|
||||
netdev->mtu, new_mtu);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
pm_runtime_get_sync(netdev->dev.parent);
|
||||
|
||||
|
|
|
@ -2961,7 +2961,7 @@ static int i40e_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
netdev_dbg(netdev, "changing MTU from %d to %d\n",
|
||||
netdev->mtu, new_mtu);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
if (netif_running(netdev))
|
||||
i40e_vsi_reinit_locked(vsi);
|
||||
set_bit(__I40E_CLIENT_SERVICE_REQUESTED, pf->state);
|
||||
|
|
|
@ -4296,7 +4296,7 @@ static int iavf_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
netdev_dbg(netdev, "changing MTU from %d to %d\n",
|
||||
netdev->mtu, new_mtu);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (netif_running(netdev)) {
|
||||
iavf_schedule_reset(adapter, IAVF_FLAG_RESET_NEEDED);
|
||||
|
|
|
@ -7770,7 +7770,7 @@ static int ice_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
return -EBUSY;
|
||||
}
|
||||
|
||||
netdev->mtu = (unsigned int)new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, (unsigned int)new_mtu);
|
||||
err = ice_down_up(vsi);
|
||||
if (err)
|
||||
return err;
|
||||
|
|
|
@ -2234,7 +2234,7 @@ static int idpf_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
idpf_vport_ctrl_lock(netdev);
|
||||
vport = idpf_netdev_to_vport(netdev);
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
err = idpf_initiate_soft_reset(vport, IDPF_SR_MTU_CHANGE);
|
||||
|
||||
|
|
|
@ -6641,7 +6641,7 @@ static int igb_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
netdev_dbg(netdev, "changing MTU from %d to %d\n",
|
||||
netdev->mtu, new_mtu);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (netif_running(netdev))
|
||||
igb_up(adapter);
|
||||
|
|
|
@ -2434,7 +2434,7 @@ static int igbvf_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
netdev_dbg(netdev, "changing MTU from %d to %d\n",
|
||||
netdev->mtu, new_mtu);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (netif_running(netdev))
|
||||
igbvf_up(adapter);
|
||||
|
|
|
@ -5275,7 +5275,7 @@ static int igc_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
igc_down(adapter);
|
||||
|
||||
netdev_dbg(netdev, "changing MTU from %d to %d\n", netdev->mtu, new_mtu);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (netif_running(netdev))
|
||||
igc_up(adapter);
|
||||
|
|
|
@ -6847,7 +6847,7 @@ static int ixgbe_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
netdev->mtu, new_mtu);
|
||||
|
||||
/* must set new MTU before calling down or up */
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (netif_running(netdev))
|
||||
ixgbe_reinit_locked(adapter);
|
||||
|
|
|
@ -4292,7 +4292,7 @@ static int ixgbevf_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
netdev->mtu, new_mtu);
|
||||
|
||||
/* must set new MTU before calling down or up */
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (netif_running(netdev))
|
||||
ixgbevf_reinit_locked(adapter);
|
||||
|
|
|
@ -2301,7 +2301,7 @@ jme_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
{
|
||||
struct jme_adapter *jme = netdev_priv(netdev);
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
netdev_update_features(netdev);
|
||||
|
||||
jme_restart_rx_engine(jme);
|
||||
|
|
|
@ -519,7 +519,7 @@ ltq_etop_change_mtu(struct net_device *dev, int new_mtu)
|
|||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||
unsigned long flags;
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
spin_lock_irqsave(&priv->lock, flags);
|
||||
ltq_etop_w32((ETOP_PLEN_UNDER << 16) | new_mtu, LTQ_ETOP_IGPLEN);
|
||||
|
|
|
@ -419,7 +419,7 @@ xrx200_change_mtu(struct net_device *net_dev, int new_mtu)
|
|||
int curr_desc;
|
||||
int ret = 0;
|
||||
|
||||
net_dev->mtu = new_mtu;
|
||||
WRITE_ONCE(net_dev->mtu, new_mtu);
|
||||
priv->rx_buf_size = xrx200_buffer_size(new_mtu);
|
||||
priv->rx_skb_size = xrx200_skb_size(priv->rx_buf_size);
|
||||
|
||||
|
@ -440,7 +440,7 @@ xrx200_change_mtu(struct net_device *net_dev, int new_mtu)
|
|||
buff = ch_rx->rx_buff[ch_rx->dma.desc];
|
||||
ret = xrx200_alloc_buf(ch_rx, netdev_alloc_frag);
|
||||
if (ret) {
|
||||
net_dev->mtu = old_mtu;
|
||||
WRITE_ONCE(net_dev->mtu, old_mtu);
|
||||
priv->rx_buf_size = xrx200_buffer_size(old_mtu);
|
||||
priv->rx_skb_size = xrx200_skb_size(priv->rx_buf_size);
|
||||
break;
|
||||
|
|
|
@ -2562,7 +2562,7 @@ static int mv643xx_eth_change_mtu(struct net_device *dev, int new_mtu)
|
|||
{
|
||||
struct mv643xx_eth_private *mp = netdev_priv(dev);
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
mv643xx_eth_recalc_skb_size(mp);
|
||||
tx_set_rate(mp, 1000000000, 16777216);
|
||||
|
||||
|
|
|
@ -3861,7 +3861,7 @@ static int mvneta_change_mtu(struct net_device *dev, int mtu)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
dev->mtu = mtu;
|
||||
WRITE_ONCE(dev->mtu, mtu);
|
||||
|
||||
if (!netif_running(dev)) {
|
||||
if (pp->bm_priv)
|
||||
|
|
|
@ -1375,7 +1375,7 @@ static int mvpp2_bm_update_mtu(struct net_device *dev, int mtu)
|
|||
}
|
||||
|
||||
out_set:
|
||||
dev->mtu = mtu;
|
||||
WRITE_ONCE(dev->mtu, mtu);
|
||||
dev->wanted_features = dev->features;
|
||||
|
||||
netdev_update_features(dev);
|
||||
|
|
|
@ -1096,7 +1096,7 @@ static int octep_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
true);
|
||||
if (!err) {
|
||||
oct->link_info.mtu = new_mtu;
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
}
|
||||
|
||||
return err;
|
||||
|
|
|
@ -881,7 +881,7 @@ static int octep_vf_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
err = octep_vf_mbox_set_mtu(oct, new_mtu);
|
||||
if (!err) {
|
||||
oct->link_info.mtu = new_mtu;
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ static int otx2_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
netdev_info(netdev, "Changing MTU from %d to %d\n",
|
||||
netdev->mtu, new_mtu);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (if_up)
|
||||
err = otx2_open(netdev);
|
||||
|
|
|
@ -456,7 +456,7 @@ static int otx2vf_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
netdev_info(netdev, "Changing MTU from %d to %d\n",
|
||||
netdev->mtu, new_mtu);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (if_up)
|
||||
err = otx2vf_open(netdev);
|
||||
|
|
|
@ -489,7 +489,7 @@ static int prestera_port_change_mtu(struct net_device *dev, int mtu)
|
|||
if (err)
|
||||
return err;
|
||||
|
||||
dev->mtu = mtu;
|
||||
WRITE_ONCE(dev->mtu, mtu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1188,7 +1188,7 @@ static int pxa168_eth_change_mtu(struct net_device *dev, int mtu)
|
|||
{
|
||||
struct pxa168_eth_private *pep = netdev_priv(dev);
|
||||
|
||||
dev->mtu = mtu;
|
||||
WRITE_ONCE(dev->mtu, mtu);
|
||||
set_port_config_ext(pep);
|
||||
|
||||
if (!netif_running(dev))
|
||||
|
|
|
@ -2905,13 +2905,13 @@ static int skge_change_mtu(struct net_device *dev, int new_mtu)
|
|||
int err;
|
||||
|
||||
if (!netif_running(dev)) {
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
skge_down(dev);
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
err = skge_up(dev);
|
||||
if (err)
|
||||
|
|
|
@ -2384,7 +2384,7 @@ static int sky2_change_mtu(struct net_device *dev, int new_mtu)
|
|||
u32 imask;
|
||||
|
||||
if (!netif_running(dev)) {
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
netdev_update_features(dev);
|
||||
return 0;
|
||||
}
|
||||
|
@ -2407,7 +2407,7 @@ static int sky2_change_mtu(struct net_device *dev, int new_mtu)
|
|||
sky2_rx_stop(sky2);
|
||||
sky2_rx_clean(sky2);
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
netdev_update_features(dev);
|
||||
|
||||
mode = DATA_BLIND_VAL(DATA_BLIND_DEF) | GM_SMOD_VLAN_ENA;
|
||||
|
|
|
@ -4055,7 +4055,7 @@ static int mtk_change_mtu(struct net_device *dev, int new_mtu)
|
|||
}
|
||||
|
||||
mtk_set_mcr_max_rx(mac, length);
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1649,7 +1649,7 @@ int mlx4_en_start_port(struct net_device *dev)
|
|||
sizeof(struct ethtool_flow_id) * MAX_NUM_OF_FS_RULES);
|
||||
|
||||
/* Calculate Rx buf size */
|
||||
dev->mtu = min(dev->mtu, priv->max_mtu);
|
||||
WRITE_ONCE(dev->mtu, min(dev->mtu, priv->max_mtu));
|
||||
mlx4_en_calc_rx_buf(dev);
|
||||
en_dbg(DRV, priv, "Rx buf size:%d\n", priv->rx_skb_size);
|
||||
|
||||
|
@ -2394,7 +2394,7 @@ static int mlx4_en_change_mtu(struct net_device *dev, int new_mtu)
|
|||
!mlx4_en_check_xdp_mtu(dev, new_mtu))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
if (netif_running(dev)) {
|
||||
mutex_lock(&mdev->state_lock);
|
||||
|
|
|
@ -4525,7 +4525,7 @@ int mlx5e_change_mtu(struct net_device *netdev, int new_mtu,
|
|||
err = mlx5e_safe_switch_params(priv, &new_params, preactivate, NULL, reset);
|
||||
|
||||
out:
|
||||
netdev->mtu = params->sw_mtu;
|
||||
WRITE_ONCE(netdev->mtu, params->sw_mtu);
|
||||
mutex_unlock(&priv->state_lock);
|
||||
return err;
|
||||
}
|
||||
|
|
|
@ -531,7 +531,7 @@ static int mlx5i_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
if (err)
|
||||
goto out;
|
||||
|
||||
netdev->mtu = new_params.sw_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_params.sw_mtu);
|
||||
|
||||
out:
|
||||
mutex_unlock(&priv->state_lock);
|
||||
|
|
|
@ -280,7 +280,7 @@ static int mlx5i_pkey_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
struct mlx5e_priv *priv = mlx5i_epriv(netdev);
|
||||
|
||||
mutex_lock(&priv->state_lock);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
mutex_unlock(&priv->state_lock);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -825,7 +825,7 @@ static int mlxsw_sp_port_change_mtu(struct net_device *dev, int mtu)
|
|||
err = mlxsw_sp_port_mtu_set(mlxsw_sp_port, mtu);
|
||||
if (err)
|
||||
goto err_port_mtu_set;
|
||||
dev->mtu = mtu;
|
||||
WRITE_ONCE(dev->mtu, mtu);
|
||||
return 0;
|
||||
|
||||
err_port_mtu_set:
|
||||
|
|
|
@ -5427,7 +5427,7 @@ static int netdev_change_mtu(struct net_device *dev, int new_mtu)
|
|||
}
|
||||
hw_mtu = (hw_mtu + 3) & ~3;
|
||||
hw_priv->mtu = hw_mtu;
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -3184,7 +3184,7 @@ static int lan743x_netdev_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
ret = lan743x_mac_set_mtu(adapter, new_mtu);
|
||||
if (!ret)
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -402,7 +402,7 @@ static int lan966x_port_change_mtu(struct net_device *dev, int new_mtu)
|
|||
|
||||
lan_wr(DEV_MAC_MAXLEN_CFG_MAX_LEN_SET(LAN966X_HW_MTU(new_mtu)),
|
||||
lan966x, DEV_MAC_MAXLEN_CFG(port->chip_port));
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
if (!lan966x->fdma)
|
||||
return 0;
|
||||
|
|
|
@ -690,12 +690,12 @@ static int mana_change_mtu(struct net_device *ndev, int new_mtu)
|
|||
goto out;
|
||||
}
|
||||
|
||||
ndev->mtu = new_mtu;
|
||||
WRITE_ONCE(ndev->mtu, new_mtu);
|
||||
|
||||
err = mana_attach(ndev);
|
||||
if (err) {
|
||||
netdev_err(ndev, "mana_attach failed: %d\n", err);
|
||||
ndev->mtu = old_mtu;
|
||||
WRITE_ONCE(ndev->mtu, old_mtu);
|
||||
}
|
||||
|
||||
out:
|
||||
|
|
|
@ -3036,11 +3036,11 @@ static int myri10ge_change_mtu(struct net_device *dev, int new_mtu)
|
|||
/* if we change the mtu on an active device, we must
|
||||
* reset the device so the firmware sees the change */
|
||||
myri10ge_close(dev);
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
myri10ge_open(dev);
|
||||
} else
|
||||
dev->mtu = new_mtu;
|
||||
|
||||
} else {
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -2526,7 +2526,7 @@ static void __set_rx_mode(struct net_device *dev)
|
|||
|
||||
static int natsemi_change_mtu(struct net_device *dev, int new_mtu)
|
||||
{
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
/* synchronized against open : rtnl_lock() held by caller */
|
||||
if (netif_running(dev)) {
|
||||
|
|
|
@ -6637,7 +6637,7 @@ static int s2io_change_mtu(struct net_device *dev, int new_mtu)
|
|||
struct s2io_nic *sp = netdev_priv(dev);
|
||||
int ret = 0;
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
if (netif_running(dev)) {
|
||||
s2io_stop_all_tx_queue(sp);
|
||||
s2io_card_down(sp);
|
||||
|
|
|
@ -1526,7 +1526,7 @@ static void nfp_net_dp_swap(struct nfp_net *nn, struct nfp_net_dp *dp)
|
|||
*dp = nn->dp;
|
||||
nn->dp = new_dp;
|
||||
|
||||
nn->dp.netdev->mtu = new_dp.mtu;
|
||||
WRITE_ONCE(nn->dp.netdev->mtu, new_dp.mtu);
|
||||
|
||||
if (!netif_is_rxfh_configured(nn->dp.netdev))
|
||||
nfp_net_rss_init_itbl(nn);
|
||||
|
|
|
@ -177,7 +177,7 @@ static int nfp_repr_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
if (err)
|
||||
return err;
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -946,7 +946,7 @@ static int nixge_change_mtu(struct net_device *ndev, int new_mtu)
|
|||
NIXGE_MAX_JUMBO_FRAME_SIZE)
|
||||
return -EINVAL;
|
||||
|
||||
ndev->mtu = new_mtu;
|
||||
WRITE_ONCE(ndev->mtu, new_mtu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -3098,7 +3098,7 @@ static int nv_change_mtu(struct net_device *dev, int new_mtu)
|
|||
int old_mtu;
|
||||
|
||||
old_mtu = dev->mtu;
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
|
||||
/* return early if the buffer sizes will not change */
|
||||
if (old_mtu <= ETH_DATA_LEN && new_mtu <= ETH_DATA_LEN)
|
||||
|
|
|
@ -2184,7 +2184,7 @@ static int pch_gbe_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
}
|
||||
} else {
|
||||
pch_gbe_reset(adapter);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
adapter->hw.mac.max_frame_size = max_frame;
|
||||
}
|
||||
|
||||
|
|
|
@ -1639,7 +1639,7 @@ static int pasemi_mac_change_mtu(struct net_device *dev, int new_mtu)
|
|||
reg |= PAS_MAC_CFG_MACCFG_MAXF(new_mtu + ETH_HLEN + 4);
|
||||
write_mac_reg(mac, PAS_MAC_CFG_MACCFG, reg);
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
WRITE_ONCE(dev->mtu, new_mtu);
|
||||
/* MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */
|
||||
mac->bufsz = new_mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128;
|
||||
|
||||
|
|
|
@ -1761,13 +1761,13 @@ static int ionic_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
|
||||
/* if we're not running, nothing more to do */
|
||||
if (!netif_running(netdev)) {
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
mutex_lock(&lif->queue_lock);
|
||||
ionic_stop_queues_reconfig(lif);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
err = ionic_start_queues_reconfig(lif);
|
||||
mutex_unlock(&lif->queue_lock);
|
||||
|
||||
|
|
|
@ -960,7 +960,7 @@ int netxen_nic_change_mtu(struct net_device *netdev, int mtu)
|
|||
rc = adapter->set_mtu(adapter, mtu);
|
||||
|
||||
if (!rc)
|
||||
netdev->mtu = mtu;
|
||||
WRITE_ONCE(netdev->mtu, mtu);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -1026,7 +1026,7 @@ static int qede_get_regs_len(struct net_device *ndev)
|
|||
static void qede_update_mtu(struct qede_dev *edev,
|
||||
struct qede_reload_args *args)
|
||||
{
|
||||
edev->ndev->mtu = args->u.mtu;
|
||||
WRITE_ONCE(edev->ndev->mtu, args->u.mtu);
|
||||
}
|
||||
|
||||
/* Netdevice NDOs */
|
||||
|
|
|
@ -1015,7 +1015,7 @@ int qlcnic_change_mtu(struct net_device *netdev, int mtu)
|
|||
rc = qlcnic_fw_cmd_set_mtu(adapter, mtu);
|
||||
|
||||
if (!rc)
|
||||
netdev->mtu = mtu;
|
||||
WRITE_ONCE(netdev->mtu, mtu);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -216,7 +216,7 @@ static int emac_change_mtu(struct net_device *netdev, int new_mtu)
|
|||
netif_dbg(adpt, hw, adpt->netdev,
|
||||
"changing MTU from %d to %d\n", netdev->mtu,
|
||||
new_mtu);
|
||||
netdev->mtu = new_mtu;
|
||||
WRITE_ONCE(netdev->mtu, new_mtu);
|
||||
|
||||
if (netif_running(netdev))
|
||||
return emac_reinit_locked(adpt);
|
||||
|
|
|
@ -90,7 +90,7 @@ static int rmnet_vnd_change_mtu(struct net_device *rmnet_dev, int new_mtu)
|
|||
new_mtu > (priv->real_dev->mtu - headroom))
|
||||
return -EINVAL;
|
||||
|
||||
rmnet_dev->mtu = new_mtu;
|
||||
WRITE_ONCE(rmnet_dev->mtu, new_mtu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue