12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- From 904e112ad431492b34f235f59738e8312802bbf9 Mon Sep 17 00:00:00 2001
- From: Vladimir Oltean <[email protected]>
- Date: Thu, 6 Jan 2022 01:11:12 +0200
- Subject: [PATCH 1/6] net: dsa: reorder PHY initialization with MTU setup in
- slave.c
- In dsa_slave_create() there are 2 sections that take rtnl_lock():
- MTU change and netdev registration. They are separated by PHY
- initialization.
- There isn't any strict ordering requirement except for the fact that
- netdev registration should be last. Therefore, we can perform the MTU
- change a bit later, after the PHY setup. A future change will then be
- able to merge the two rtnl_lock sections into one.
- Signed-off-by: Vladimir Oltean <[email protected]>
- Reviewed-by: Florian Fainelli <[email protected]>
- Signed-off-by: David S. Miller <[email protected]>
- ---
- net/dsa/slave.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
- --- a/net/dsa/slave.c
- +++ b/net/dsa/slave.c
- @@ -1977,13 +1977,6 @@ int dsa_slave_create(struct dsa_port *po
- port->slave = slave_dev;
- dsa_slave_setup_tagger(slave_dev);
-
- - rtnl_lock();
- - ret = dsa_slave_change_mtu(slave_dev, ETH_DATA_LEN);
- - rtnl_unlock();
- - if (ret && ret != -EOPNOTSUPP)
- - dev_warn(ds->dev, "nonfatal error %d setting MTU to %d on port %d\n",
- - ret, ETH_DATA_LEN, port->index);
- -
- netif_carrier_off(slave_dev);
-
- ret = dsa_slave_phy_setup(slave_dev);
- @@ -1995,6 +1988,13 @@ int dsa_slave_create(struct dsa_port *po
- }
-
- rtnl_lock();
- + ret = dsa_slave_change_mtu(slave_dev, ETH_DATA_LEN);
- + rtnl_unlock();
- + if (ret && ret != -EOPNOTSUPP)
- + dev_warn(ds->dev, "nonfatal error %d setting MTU to %d on port %d\n",
- + ret, ETH_DATA_LEN, port->index);
- +
- + rtnl_lock();
-
- ret = register_netdevice(slave_dev);
- if (ret) {
|