]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: ethernet: cortina: No mapping is a dropped rx
authorLinus Walleij <linusw@kernel.org>
Fri, 8 May 2026 22:13:36 +0000 (00:13 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 12 May 2026 13:20:16 +0000 (15:20 +0200)
Increase stats.rx_dropped++ even if this is the first fragment
(skb == NULL) so we are doing proper accounting.

Fixes: b266bacba796 ("net: ethernet: cortina: Drop half-assembled SKB")
Link: https://sashiko.dev/#/patchset/20260505-gemini-ethernet-fix-v2-1-997c31d06079%40kernel.org
Signed-off-by: Linus Walleij <linusw@kernel.org>
Link: https://patch.msgid.link/20260509-gemini-ethernet-fixes-v1-1-6c5d20ddc35b@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/cortina/gemini.c

index 065cbbf52686cbb4f11de7c94b58dc74ff1897ab..466445c9e08b4746535e4e62dbe781c7ed93f73e 100644 (file)
@@ -1491,9 +1491,9 @@ static unsigned int gmac_rx(struct net_device *netdev, unsigned int budget)
                gpage = gmac_get_queue_page(geth, port, mapping + PAGE_SIZE);
                if (!gpage) {
                        dev_err(geth->dev, "could not find mapping\n");
+                       port->stats.rx_dropped++;
                        if (skb) {
                                napi_free_frags(&port->napi);
-                               port->stats.rx_dropped++;
                                skb = NULL;
                        }
                        continue;