forked from mirrors/linux
		
	net/mlx5: Fix some error handling paths in 'mlx5e_tc_add_fdb_flow()'
All the error handling paths of 'mlx5e_tc_add_fdb_flow()' end to 'err_out' where 'flow_flag_set(flow, FAILED);' is called. All but the new error handling paths added by the commits given in the Fixes tag below. Fix these error handling paths and branch to 'err_out'. Fixes:166f431ec6("net/mlx5e: Add indirect tc offload of ovs internal port") Fixes:b16eb3c81f("net/mlx5: Support internal port as decap route device") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Roi Dayan <roid@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
		
							parent
							
								
									baf5c00130
								
							
						
					
					
						commit
						31108d142f
					
				
					 1 changed files with 9 additions and 5 deletions
				
			
		|  | @ -1441,7 +1441,7 @@ mlx5e_tc_add_fdb_flow(struct mlx5e_priv *priv, | |||
| 							MLX5_FLOW_NAMESPACE_FDB, VPORT_TO_REG, | ||||
| 							metadata); | ||||
| 			if (err) | ||||
| 				return err; | ||||
| 				goto err_out; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  | @ -1457,13 +1457,15 @@ mlx5e_tc_add_fdb_flow(struct mlx5e_priv *priv, | |||
| 		if (attr->chain) { | ||||
| 			NL_SET_ERR_MSG_MOD(extack, | ||||
| 					   "Internal port rule is only supported on chain 0"); | ||||
| 			return -EOPNOTSUPP; | ||||
| 			err = -EOPNOTSUPP; | ||||
| 			goto err_out; | ||||
| 		} | ||||
| 
 | ||||
| 		if (attr->dest_chain) { | ||||
| 			NL_SET_ERR_MSG_MOD(extack, | ||||
| 					   "Internal port rule offload doesn't support goto action"); | ||||
| 			return -EOPNOTSUPP; | ||||
| 			err = -EOPNOTSUPP; | ||||
| 			goto err_out; | ||||
| 		} | ||||
| 
 | ||||
| 		int_port = mlx5e_tc_int_port_get(mlx5e_get_int_port_priv(priv), | ||||
|  | @ -1471,8 +1473,10 @@ mlx5e_tc_add_fdb_flow(struct mlx5e_priv *priv, | |||
| 						 flow_flag_test(flow, EGRESS) ? | ||||
| 						 MLX5E_TC_INT_PORT_EGRESS : | ||||
| 						 MLX5E_TC_INT_PORT_INGRESS); | ||||
| 		if (IS_ERR(int_port)) | ||||
| 			return PTR_ERR(int_port); | ||||
| 		if (IS_ERR(int_port)) { | ||||
| 			err = PTR_ERR(int_port); | ||||
| 			goto err_out; | ||||
| 		} | ||||
| 
 | ||||
| 		esw_attr->int_port = int_port; | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Christophe JAILLET
						Christophe JAILLET