]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - drivers/net/ethernet/marvell/mvneta.c
bpf, devmap: Move drop error path to devmap for XDP_REDIRECT
[mirror_ubuntu-jammy-kernel.git] / drivers / net / ethernet / marvell / mvneta.c
index a635cf84608a83f968e69bfde945c63a7d935921..20307eec89888b9a0962fcba92696aee43ae3afa 100644 (file)
@@ -2137,7 +2137,7 @@ mvneta_xdp_xmit(struct net_device *dev, int num_frame,
 {
        struct mvneta_port *pp = netdev_priv(dev);
        struct mvneta_pcpu_stats *stats = this_cpu_ptr(pp->stats);
-       int i, nxmit_byte = 0, nxmit = num_frame;
+       int i, nxmit_byte = 0, nxmit = 0;
        int cpu = smp_processor_id();
        struct mvneta_tx_queue *txq;
        struct netdev_queue *nq;
@@ -2155,12 +2155,11 @@ mvneta_xdp_xmit(struct net_device *dev, int num_frame,
        __netif_tx_lock(nq, cpu);
        for (i = 0; i < num_frame; i++) {
                ret = mvneta_xdp_submit_frame(pp, txq, frames[i], true);
-               if (ret == MVNETA_XDP_TX) {
-                       nxmit_byte += frames[i]->len;
-               } else {
-                       xdp_return_frame_rx_napi(frames[i]);
-                       nxmit--;
-               }
+               if (ret != MVNETA_XDP_TX)
+                       break;
+
+               nxmit_byte += frames[i]->len;
+               nxmit++;
        }
 
        if (unlikely(flags & XDP_XMIT_FLUSH))