forked from mirrors/linux
		
	net: dsa: unlock the rtnl_mutex when dsa_master_setup() fails
After the blamed commit, dsa_tree_setup_master() may exit without
calling rtnl_unlock(), fix that.
Fixes: c146f9bc19 ("net: dsa: hold rtnl_mutex when calling dsa_master_{setup,teardown}")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
			
			
This commit is contained in:
		
							parent
							
								
									c6a502c229
								
							
						
					
					
						commit
						afb3cc1a39
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		|  | @ -1058,7 +1058,7 @@ static int dsa_tree_setup_switches(struct dsa_switch_tree *dst) | |||
| static int dsa_tree_setup_master(struct dsa_switch_tree *dst) | ||||
| { | ||||
| 	struct dsa_port *dp; | ||||
| 	int err; | ||||
| 	int err = 0; | ||||
| 
 | ||||
| 	rtnl_lock(); | ||||
| 
 | ||||
|  | @ -1066,13 +1066,13 @@ static int dsa_tree_setup_master(struct dsa_switch_tree *dst) | |||
| 		if (dsa_port_is_cpu(dp)) { | ||||
| 			err = dsa_master_setup(dp->master, dp); | ||||
| 			if (err) | ||||
| 				return err; | ||||
| 				break; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	rtnl_unlock(); | ||||
| 
 | ||||
| 	return 0; | ||||
| 	return err; | ||||
| } | ||||
| 
 | ||||
| static void dsa_tree_teardown_master(struct dsa_switch_tree *dst) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Vladimir Oltean
						Vladimir Oltean