diff options
-rw-r--r-- | drivers/net/sfc/falcon.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c index e32be4c83d90..97cc037a10c5 100644 --- a/drivers/net/sfc/falcon.c +++ b/drivers/net/sfc/falcon.c | |||
@@ -784,15 +784,18 @@ static void falcon_handle_rx_not_ok(struct efx_rx_queue *rx_queue, | |||
784 | rx_ev_buf_owner_id_err | rx_ev_eth_crc_err | | 784 | rx_ev_buf_owner_id_err | rx_ev_eth_crc_err | |
785 | rx_ev_frm_trunc | rx_ev_ip_hdr_chksum_err); | 785 | rx_ev_frm_trunc | rx_ev_ip_hdr_chksum_err); |
786 | 786 | ||
787 | /* Count errors that are not in MAC stats. */ | 787 | /* Count errors that are not in MAC stats. Ignore expected |
788 | * checksum errors during self-test. */ | ||
788 | if (rx_ev_frm_trunc) | 789 | if (rx_ev_frm_trunc) |
789 | ++rx_queue->channel->n_rx_frm_trunc; | 790 | ++rx_queue->channel->n_rx_frm_trunc; |
790 | else if (rx_ev_tobe_disc) | 791 | else if (rx_ev_tobe_disc) |
791 | ++rx_queue->channel->n_rx_tobe_disc; | 792 | ++rx_queue->channel->n_rx_tobe_disc; |
792 | else if (rx_ev_ip_hdr_chksum_err) | 793 | else if (!efx->loopback_selftest) { |
793 | ++rx_queue->channel->n_rx_ip_hdr_chksum_err; | 794 | if (rx_ev_ip_hdr_chksum_err) |
794 | else if (rx_ev_tcp_udp_chksum_err) | 795 | ++rx_queue->channel->n_rx_ip_hdr_chksum_err; |
795 | ++rx_queue->channel->n_rx_tcp_udp_chksum_err; | 796 | else if (rx_ev_tcp_udp_chksum_err) |
797 | ++rx_queue->channel->n_rx_tcp_udp_chksum_err; | ||
798 | } | ||
796 | if (rx_ev_ip_frag_err) | 799 | if (rx_ev_ip_frag_err) |
797 | ++rx_queue->channel->n_rx_ip_frag_err; | 800 | ++rx_queue->channel->n_rx_ip_frag_err; |
798 | 801 | ||