net: xilinx: axienet: Report RxRject as rx_dropped
authorSean Anderson <sean.anderson@linux.dev>
Tue, 20 Aug 2024 17:53:41 +0000 (13:53 -0400)
committerJakub Kicinski <kuba@kernel.org>
Thu, 22 Aug 2024 00:49:20 +0000 (17:49 -0700)
The Receive Frame Rejected interrupt is asserted whenever there was a
receive error (bad FCS, bad length, etc.) or whenever the frame was
dropped due to a mismatched address. So this is really a combination of
rx_otherhost_dropped, rx_length_errors, rx_frame_errors, and
rx_crc_errors. Mismatched addresses are common and aren't really errors
at all (much like how fragments are normal on half-duplex links). To
avoid confusion, report these events as rx_dropped. This better
reflects what's going on: the packet was received by the MAC but dropped
before being processed.

Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Link: https://patch.msgid.link/20240820175343.760389-2-sean.anderson@linux.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/xilinx/xilinx_axienet_main.c

index ca04c298daa23fe6926fb2c978e9d5f1e8a6c1c6..b2d7c396e2e334009fe3d9ad2266fbe10562269b 100644 (file)
@@ -1296,7 +1296,7 @@ static irqreturn_t axienet_eth_irq(int irq, void *_ndev)
                ndev->stats.rx_missed_errors++;
 
        if (pending & XAE_INT_RXRJECT_MASK)
-               ndev->stats.rx_frame_errors++;
+               ndev->stats.rx_dropped++;
 
        axienet_iow(lp, XAE_IS_OFFSET, pending);
        return IRQ_HANDLED;