@@ -4052,6 +4052,8 @@ mlx5e_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats)
40524052 mlx5e_queue_update_stats (priv );
40534053 }
40544054
4055+ netdev_stats_to_stats64 (stats , & dev -> stats );
4056+
40554057 if (mlx5e_is_uplink_rep (priv )) {
40564058 struct mlx5e_vport_stats * vstats = & priv -> stats .vport ;
40574059
@@ -4068,21 +4070,21 @@ mlx5e_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats)
40684070 mlx5e_fold_sw_stats64 (priv , stats );
40694071 }
40704072
4071- stats -> rx_missed_errors = priv -> stats .qcnt .rx_out_of_buffer ;
4072- stats -> rx_dropped = PPORT_2863_GET (pstats , if_in_discards );
4073+ stats -> rx_missed_errors + = priv -> stats .qcnt .rx_out_of_buffer ;
4074+ stats -> rx_dropped + = PPORT_2863_GET (pstats , if_in_discards );
40734075
4074- stats -> rx_length_errors =
4076+ stats -> rx_length_errors + =
40754077 PPORT_802_3_GET (pstats , a_in_range_length_errors ) +
40764078 PPORT_802_3_GET (pstats , a_out_of_range_length_field ) +
40774079 PPORT_802_3_GET (pstats , a_frame_too_long_errors ) +
40784080 VNIC_ENV_GET (& priv -> stats .vnic , eth_wqe_too_small );
4079- stats -> rx_crc_errors =
4081+ stats -> rx_crc_errors + =
40804082 PPORT_802_3_GET (pstats , a_frame_check_sequence_errors );
4081- stats -> rx_frame_errors = PPORT_802_3_GET (pstats , a_alignment_errors );
4082- stats -> tx_aborted_errors = PPORT_2863_GET (pstats , if_out_discards );
4083- stats -> rx_errors = stats -> rx_length_errors + stats -> rx_crc_errors +
4084- stats -> rx_frame_errors ;
4085- stats -> tx_errors = stats -> tx_aborted_errors + stats -> tx_carrier_errors ;
4083+ stats -> rx_frame_errors + = PPORT_802_3_GET (pstats , a_alignment_errors );
4084+ stats -> tx_aborted_errors + = PPORT_2863_GET (pstats , if_out_discards );
4085+ stats -> rx_errors + = stats -> rx_length_errors + stats -> rx_crc_errors +
4086+ stats -> rx_frame_errors ;
4087+ stats -> tx_errors + = stats -> tx_aborted_errors + stats -> tx_carrier_errors ;
40864088}
40874089
40884090static void mlx5e_nic_set_rx_mode (struct mlx5e_priv * priv )
@@ -6842,6 +6844,7 @@ static void _mlx5e_remove(struct auxiliary_device *adev)
68426844 struct mlx5e_priv * priv = netdev_priv (netdev );
68436845 struct mlx5_core_dev * mdev = edev -> mdev ;
68446846
6847+ mlx5_eswitch_safe_aux_devs_remove (mdev );
68456848 mlx5_core_uplink_netdev_set (mdev , NULL );
68466849
68476850 if (priv -> profile )
0 commit comments