 39a7c8d809
			
		
	
	39a7c8d809
	
	
	
		
			
			Use 'make target/linux/refresh' to refresh backport patches. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 904e112ad431492b34f235f59738e8312802bbf9 Mon Sep 17 00:00:00 2001
 | |
| From: Vladimir Oltean <vladimir.oltean@nxp.com>
 | |
| 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 <vladimir.oltean@nxp.com>
 | |
| Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
 | |
| Signed-off-by: David S. Miller <davem@davemloft.net>
 | |
| ---
 | |
|  net/dsa/slave.c | 14 +++++++-------
 | |
|  1 file changed, 7 insertions(+), 7 deletions(-)
 | |
| 
 | |
| --- a/net/dsa/slave.c
 | |
| +++ b/net/dsa/slave.c
 | |
| @@ -1986,13 +1986,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);
 | |
| @@ -2004,6 +1997,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) {
 |