@@ -2115,11 +2115,15 @@ void mlx5e_destroy_rqt(struct mlx5e_priv *priv, struct mlx5e_rqt *rqt)
21152115 mlx5_core_destroy_rqt (priv -> mdev , rqt -> rqtn );
21162116}
21172117
2118- static int mlx5e_create_indirect_rqts (struct mlx5e_priv * priv )
2118+ int mlx5e_create_indirect_rqt (struct mlx5e_priv * priv )
21192119{
21202120 struct mlx5e_rqt * rqt = & priv -> indir_rqt ;
2121+ int err ;
21212122
2122- return mlx5e_create_rqt (priv , MLX5E_INDIR_RQT_SIZE , rqt );
2123+ err = mlx5e_create_rqt (priv , MLX5E_INDIR_RQT_SIZE , rqt );
2124+ if (err )
2125+ mlx5_core_warn (priv -> mdev , "create indirect rqts failed, %d\n" , err );
2126+ return err ;
21232127}
21242128
21252129int mlx5e_create_direct_rqts (struct mlx5e_priv * priv )
@@ -2138,12 +2142,21 @@ int mlx5e_create_direct_rqts(struct mlx5e_priv *priv)
21382142 return 0 ;
21392143
21402144err_destroy_rqts :
2145+ mlx5_core_warn (priv -> mdev , "create direct rqts failed, %d\n" , err );
21412146 for (ix -- ; ix >= 0 ; ix -- )
21422147 mlx5e_destroy_rqt (priv , & priv -> direct_tir [ix ].rqt );
21432148
21442149 return err ;
21452150}
21462151
2152+ void mlx5e_destroy_direct_rqts (struct mlx5e_priv * priv )
2153+ {
2154+ int i ;
2155+
2156+ for (i = 0 ; i < priv -> profile -> max_nch (priv -> mdev ); i ++ )
2157+ mlx5e_destroy_rqt (priv , & priv -> direct_tir [i ].rqt );
2158+ }
2159+
21472160static int mlx5e_rx_hash_fn (int hfunc )
21482161{
21492162 return (hfunc == ETH_RSS_HASH_TOP ) ?
@@ -2818,7 +2831,7 @@ static void mlx5e_build_direct_tir_ctx(struct mlx5e_priv *priv, u32 rqtn, u32 *t
28182831 MLX5_SET (tirc , tirc , rx_hash_fn , MLX5_RX_HASH_FN_INVERTED_XOR8 );
28192832}
28202833
2821- static int mlx5e_create_indirect_tirs (struct mlx5e_priv * priv )
2834+ int mlx5e_create_indirect_tirs (struct mlx5e_priv * priv )
28222835{
28232836 struct mlx5e_tir * tir ;
28242837 void * tirc ;
@@ -2847,6 +2860,7 @@ static int mlx5e_create_indirect_tirs(struct mlx5e_priv *priv)
28472860 return 0 ;
28482861
28492862err_destroy_tirs :
2863+ mlx5_core_warn (priv -> mdev , "create indirect tirs failed, %d\n" , err );
28502864 for (tt -- ; tt >= 0 ; tt -- )
28512865 mlx5e_destroy_tir (priv -> mdev , & priv -> indir_tir [tt ]);
28522866
@@ -2885,6 +2899,7 @@ int mlx5e_create_direct_tirs(struct mlx5e_priv *priv)
28852899 return 0 ;
28862900
28872901err_destroy_ch_tirs :
2902+ mlx5_core_warn (priv -> mdev , "create direct tirs failed, %d\n" , err );
28882903 for (ix -- ; ix >= 0 ; ix -- )
28892904 mlx5e_destroy_tir (priv -> mdev , & priv -> direct_tir [ix ]);
28902905
@@ -2893,7 +2908,7 @@ int mlx5e_create_direct_tirs(struct mlx5e_priv *priv)
28932908 return err ;
28942909}
28952910
2896- static void mlx5e_destroy_indirect_tirs (struct mlx5e_priv * priv )
2911+ void mlx5e_destroy_indirect_tirs (struct mlx5e_priv * priv )
28972912{
28982913 int i ;
28992914
@@ -3794,9 +3809,9 @@ u32 mlx5e_choose_lro_timeout(struct mlx5_core_dev *mdev, u32 wanted_timeout)
37943809 return MLX5_CAP_ETH (mdev , lro_timer_supported_periods [i ]);
37953810}
37963811
3797- static void mlx5e_build_nic_params (struct mlx5_core_dev * mdev ,
3798- struct mlx5e_params * params ,
3799- u16 max_channels )
3812+ void mlx5e_build_nic_params (struct mlx5_core_dev * mdev ,
3813+ struct mlx5e_params * params ,
3814+ u16 max_channels )
38003815{
38013816 u8 cq_period_mode = 0 ;
38023817 u32 link_speed = 0 ;
@@ -4031,31 +4046,22 @@ static int mlx5e_init_nic_rx(struct mlx5e_priv *priv)
40314046{
40324047 struct mlx5_core_dev * mdev = priv -> mdev ;
40334048 int err ;
4034- int i ;
40354049
4036- err = mlx5e_create_indirect_rqts (priv );
4037- if (err ) {
4038- mlx5_core_warn (mdev , "create indirect rqts failed, %d\n" , err );
4050+ err = mlx5e_create_indirect_rqt (priv );
4051+ if (err )
40394052 return err ;
4040- }
40414053
40424054 err = mlx5e_create_direct_rqts (priv );
4043- if (err ) {
4044- mlx5_core_warn (mdev , "create direct rqts failed, %d\n" , err );
4055+ if (err )
40454056 goto err_destroy_indirect_rqts ;
4046- }
40474057
40484058 err = mlx5e_create_indirect_tirs (priv );
4049- if (err ) {
4050- mlx5_core_warn (mdev , "create indirect tirs failed, %d\n" , err );
4059+ if (err )
40514060 goto err_destroy_direct_rqts ;
4052- }
40534061
40544062 err = mlx5e_create_direct_tirs (priv );
4055- if (err ) {
4056- mlx5_core_warn (mdev , "create direct tirs failed, %d\n" , err );
4063+ if (err )
40574064 goto err_destroy_indirect_tirs ;
4058- }
40594065
40604066 err = mlx5e_create_flow_steering (priv );
40614067 if (err ) {
@@ -4076,23 +4082,19 @@ static int mlx5e_init_nic_rx(struct mlx5e_priv *priv)
40764082err_destroy_indirect_tirs :
40774083 mlx5e_destroy_indirect_tirs (priv );
40784084err_destroy_direct_rqts :
4079- for (i = 0 ; i < priv -> profile -> max_nch (mdev ); i ++ )
4080- mlx5e_destroy_rqt (priv , & priv -> direct_tir [i ].rqt );
4085+ mlx5e_destroy_direct_rqts (priv );
40814086err_destroy_indirect_rqts :
40824087 mlx5e_destroy_rqt (priv , & priv -> indir_rqt );
40834088 return err ;
40844089}
40854090
40864091static void mlx5e_cleanup_nic_rx (struct mlx5e_priv * priv )
40874092{
4088- int i ;
4089-
40904093 mlx5e_tc_cleanup (priv );
40914094 mlx5e_destroy_flow_steering (priv );
40924095 mlx5e_destroy_direct_tirs (priv );
40934096 mlx5e_destroy_indirect_tirs (priv );
4094- for (i = 0 ; i < priv -> profile -> max_nch (priv -> mdev ); i ++ )
4095- mlx5e_destroy_rqt (priv , & priv -> direct_tir [i ].rqt );
4097+ mlx5e_destroy_direct_rqts (priv );
40964098 mlx5e_destroy_rqt (priv , & priv -> indir_rqt );
40974099}
40984100
0 commit comments